summaryrefslogtreecommitdiffstats
path: root/theos/nginx
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2017-01-10 16:43:31 +0000
committerJohannes Löthberg <johannes@kyriasis.com>2017-01-10 16:43:31 +0000
commit6045747cc9e427b33e0dd43d3325b85aa1c2c56e (patch)
treea483093e12aa9b13e5184c9539a7afaf4b04ba2f /theos/nginx
parentcbea52249a5b389c3bdef635027e22b70ebe1f32 (diff)
downloadpillar-6045747cc9e427b33e0dd43d3325b85aa1c2c56e.tar.xz
Add matrix and riot nginx config
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Diffstat (limited to 'theos/nginx')
-rw-r--r--theos/nginx/matrix_kyriasis_com.sls74
-rw-r--r--theos/nginx/riot_kyriasis_com.sls58
2 files changed, 132 insertions, 0 deletions
diff --git a/theos/nginx/matrix_kyriasis_com.sls b/theos/nginx/matrix_kyriasis_com.sls
new file mode 100644
index 0000000..a511dd2
--- /dev/null
+++ b/theos/nginx/matrix_kyriasis_com.sls
@@ -0,0 +1,74 @@
+nginx:
+ ng:
+ servers:
+ managed:
+ matrix.kyriasis.com:
+ enabled: True
+ config:
+ - upstream synapse:
+ - server: 127.0.0.1:8008
+
+
+ - upstream synapse_metrics:
+ - server: 127.0.0.1:9091
+
+
+ - server:
+ - server_name: matrix.kyriasis.com
+ - listen: 80
+ - listen: '[::]:80'
+
+ - location /.well-known/acme-challenge:
+ - root: /srv/http/
+
+ - return: '301 https://$server_name$request_uri'
+
+
+ - server:
+ - server_name: matrix.kyriasis.com kyriasis.com
+ - listen: 443 ssl http2 default_server
+ - listen: '[::]:443 ssl http2 default_server'
+
+ - ssl: 'on'
+ - ssl_certificate: /etc/letsencrypt/live/matrix.kyriasis.com/fullchain.pem
+ - ssl_certificate_key: /etc/letsencrypt/live/matrix.kyriasis.com/privkey.pem
+ - ssl_dhparam: /etc/nginx/dhparam.pem
+
+ - ssl_stapling: 'on'
+ - ssl_stapling_verify: 'on'
+ - ssl_trusted_certificate: /etc/letsencrypt/live/matrix.kyriasis.com/fullchain.pem
+
+ # 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: 128m
+
+ - error_log: /var/log/nginx/matrix.error.log
+
+ - location /:
+ - return: 301 https://riot.kyriasis.com
+
+ - location /_synapse:
+ - proxy_pass: http://synapse_metrics
+ - proxy_buffering: "off"
+ - proxy_set_header: X-Forwarded-For $remote_addr
+ - proxy_set_header: Host $host
+ - proxy_http_version: 1.1
+
+ - location /.well-known/acme-challenge:
+ - root: /srv/http/
+
+# vim: ft=yaml et:
diff --git a/theos/nginx/riot_kyriasis_com.sls b/theos/nginx/riot_kyriasis_com.sls
new file mode 100644
index 0000000..7f2b0c0
--- /dev/null
+++ b/theos/nginx/riot_kyriasis_com.sls
@@ -0,0 +1,58 @@
+nginx:
+ ng:
+ servers:
+ managed:
+ riot.kyriasis.com:
+ enabled: True
+ config:
+ - server:
+ - server_name: riot.kyriasis.com
+ - listen: 80
+ - listen: '[::]:80'
+
+ - location /.well-known/acme-challenge:
+ - root: /srv/http/
+
+ - return: '301 https://$server_name$request_uri'
+
+
+ - server:
+ - server_name: riot.kyriasis.com
+ - listen: 443 ssl http2
+ - listen: '[::]:443 ssl http2'
+
+ - ssl: 'on'
+ - ssl_certificate: /etc/letsencrypt/live/riot.kyriasis.com/fullchain.pem
+ - ssl_certificate_key: /etc/letsencrypt/live/riot.kyriasis.com/privkey.pem
+ - ssl_dhparam: /etc/nginx/dhparam.pem
+
+ - ssl_stapling: 'on'
+ - ssl_stapling_verify: 'on'
+ - ssl_trusted_certificate: /etc/letsencrypt/live/riot.kyriasis.com/fullchain.pem
+
+ # 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: 128m
+
+ - error_log: /var/log/nginx/riot.error.log
+
+ - root: /home/kyrias/code/vector/public
+
+ - location /.well-known/acme-challenge:
+ - root: /srv/http/
+
+# vim: ft=yaml et: