server {
  listen 80 ;

  root /var/www/disroot.lan;
  index index.html index.php;
  server_name grav.disroot.org;
  server_tokens off;
     add_header X-XSS-Protection "1; mode=block";


  location / {
    try_files $uri $uri/ /index.php?_url=$uri&$query_string;
  }

  location /favicon.ico {
    alias /var/www/disroot.lan/favicon.png;
  }

  # deny all direct access for these folders
  location ~* /(.git|cache|bin|logs|backup|tests)/.*$ { return 403; }

  # deny running scripts inside core system folders
  location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }

  # deny running scripts inside user folder
  location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }

  # deny access to specific files in the root folder
  location ~ /(LICENSE.txt|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }

  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
  }

}
