nginx: servers: managed: xan.kyriasis.com: enabled: True config: - server: - server_name: xan.kyriasis.com - listen: 80 - listen: '[::]:80' - location /.well-known/acme-challenge: - root: /srv/http/ - location /: - return: '301 https://$server_name$request_uri' - server: - server_name: xan.kyriasis.com - listen: 443 ssl http2 - listen: '[::]:443 ssl http2' - ssl_certificate: /etc/letsencrypt/live/xan.kyriasis.com/fullchain.pem - ssl_certificate_key: /etc/letsencrypt/live/xan.kyriasis.com/privkey.pem - ssl_dhparam: /etc/nginx/dhparam.pem - ssl_stapling: 'on' - ssl_stapling_verify: 'on' - ssl_trusted_certificate: /etc/letsencrypt/live/xan.kyriasis.com/fullchain.pem - error_log: /var/log/nginx/xan.error.log # https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security - add_header: 'Strict-Transport-Security "max-age=31536000"' # Tell browsers not to render the page inside a frame, and avoid clickjacking. - add_header: X-Frame-Options SAMEORIGIN # Tell browsers to not try to auto-detect the Content-Type. - add_header: X-Content-Type-Options nosniff # Enable the Cross-site scripting filter in most recent browsers. # Normally enabled by default, but enable it anyway if user has disabled it. - add_header: 'X-XSS-Protection "1; mode=block"' # http://www.gnuterrypratchett.com/ - add_header: 'X-Clacks-Overhead "GNU Terry Pratchett"' - client_max_body_size: 100m - client_body_timeout: 60 - location @mediawiki: - rewrite: '^/wiki([^?]*)(?:\?(.*))? /index.php5?title=$1&$2 last' - location /wiki: - root: /usr/share/webapps/xans-wiki - index: index.php index.html - try_files: $uri $uri/ @mediawiki - location ~ \.php$: - include: fastcgi.conf - fastcgi_pass: unix:/var/run/php-fpm/php-fpm.sock - fastcgi_index: index.php - try_files: $uri @mediawiki - location ~* \.(js|css|png|jpg|jpeg|gif|ico)$: - try_files: $uri /index.php - expires: max # Restrictions based on default htaccess file - location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/: - deny: all - location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/: - internal: '' - location /.well-known/acme-challenge: - root: /srv/http/ # vim: ft=yaml et: