blob: 8cf4a0e95514860d5994065fc07a92f1687fedd5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
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"'
- root: /usr/share/webapps/xans-wiki
- client_max_body_size: 100m
- client_body_timeout: 60
- try_files: $uri $uri/ @mediawiki
- index: index.php index.html
- location @mediawiki:
- rewrite: '^/(.*)$ /index.php?title=$1&$args'
- location ~ \.php5?$:
- 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:
|