##### Process http start ####################################################### server { listen 80; server_name DOMAIN; server_tokens off; return 301 https://DOMAIN$request_uri; } ##### Process http stop ######################################################## ##### Process https start ###################################################### server { listen 443 ssl http2; server_name DOMAIN; server_tokens off; root /var/www/html/DOMAIN; index doku.php; ##### SSL configuration start ############################################## # ssl_protocols TLSv1.2 TLSv1.3; # ssl_ciphers EECDH+AESGCM:EDH+AESGCM; # ssl_prefer_server_ciphers off; # ssl_stapling on; # ssl_stapling_verify on; # resolver 8.8.4.4 8.8.8.8; # resolver_timeout 5s; # ssl_session_timeout 1d; # ssl_session_tickets off; # ssl_session_cache shared:SSL:10m; # ssl_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem; # ssl_trusted_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem; ##### SSL configuration stop ############################################### ##### XSS headers start #################################################### # add_header X-Frame-Options DENY; # add_header X-Frame-Options SAMEORIGIN; # add_header X-Content-Type-Options nosniff; # add_header X-XSS-Protection "1; mode=block"; # add_header Permissions-Policy interest-cohort=(); # add_header Content-Security-Policy "default-src 'self'"; # add_header Referrer-Policy strict-origin-when-cross-origin; # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"; ##### XSS headers stop ##################################################### ##### Optional include custom Error pages start ############################ include /etc/nginx/nginxsnippets/custom-errors.conf; ##### Optional include custom Error pages stop ############################# ##### Optional disable gzip start ########################################## # gzip off; ##### Optional disable gzip stop ########################################### ##### Optional disable access log start #################################### # access_log off; ##### Optional disable access log stop ##################################### ##### Block Bad referers and bad bots start ################################ if ($bad_referer) { return 444; } if ($bad_user_agent) { return 444; } ##### Block Bad referers and bad bots stop ################################# ##### Optional stuff start ################################################# # include /etc/nginx/nginxsnippets/block-engines.conf; include /etc/nginx/nginxsnippets/log-exclude.conf; include /etc/nginx/nginxsnippets/block-htaccess.conf; include /etc/nginx/nginxsnippets/block-file-access.conf; ##### Optional stuff stop ################################################## ##### Enable fastcgi cache start ########################################### set $skip_cache 0; ##### Enable fastcgi cache stop ############################################ ##### Process content start ################################################ location / { # include /etc/nginx/nginxsnippets/block-engines.conf; include /etc/nginx/nginxsnippets/log-exclude.conf; include /etc/nginx/nginxsnippets/block-file-access.conf; include /etc/nginx/nginxsnippets/block-htaccess.conf; try_files $uri $uri/ @dokuwiki; } ##### Process content stop ################################################# # Dokuwiki hardening start ################################################# # Uncomment these 2 lines containing "location" after dokuwiki is installed # || # \/ # location ~ /(data|conf|bin|inc|vendor)/ { deny all; } # location ~ /install.php { deny all; } # /\ # || # Uncomment these 2 lines containing "location" after dokuwiki is installed # Dokuwiki hardening stop ################################################## ##### Dokuwiki specific start ############################################## location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1&$args last; } ##### Dokuwiki specific stop ############################################### ##### Process php start #################################################### location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/phpVERSION-fpm.sock; include /etc/nginx/nginxsnippets/microcache.conf; } ##### Process php stop ##################################################### ##### Cache js css static content and open files start ##################### # include /etc/nginx/nginxsnippets/cache-open-files.conf; include /etc/nginx/nginxsnippets/cache-statics.conf; include /etc/nginx/nginxsnippets/cache-js-css.conf; ##### Cache js css static content and open files stop ###################### } ##### Process https stop #######################################################