server { listen 80 default_server; listen 443 ssl http2; ssl_certificate /ssl/crt/file.crt; ssl_certificate_key /ssl/key/file.key; server_name site.com; root /home/user/site.com; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } # Prevent Direct Access to Protected Files location ~ \.(env|log) { deny all; } # Prevent Direct Access To Protected Folders location ~ ^/(app|bootstrap|config|database|resources|routes|storage|tests|artisan) { deny all; } # Prevent Direct Access To modules/vendor Folders Except Assets location ~ ^/(modules|vendor)\/(.*)\.((?!ico|gif|jpg|jpeg|png|js|css|less|sass|font|woff|woff2|eot|ttf|svg).)*$ { deny all; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; #depends on the PHP version fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; } }