diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2024-01-04 16:39:29 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2024-01-31 08:19:22 +0100 |
commit | f0488dccb2fe3cb7fc570372926abf0a312a8af8 (patch) | |
tree | fe9f421cad6d19ad27da4f68d58841c7078d6bc1 /files | |
parent | 649e6c4c696e369712ff18e792ef000125b5591c (diff) |
Install nginx.
Diffstat (limited to 'files')
-rw-r--r-- | files/etc/lacme/lacme-certs.conf.d/hel01.conf | 7 | ||||
-rw-r--r-- | files/etc/nftables.conf | 3 | ||||
-rw-r--r-- | files/etc/nginx/sites-enabled/webmap | 52 | ||||
-rw-r--r-- | files/etc/nginx/snippets/ssl.conf | 16 |
4 files changed, 77 insertions, 1 deletions
diff --git a/files/etc/lacme/lacme-certs.conf.d/hel01.conf b/files/etc/lacme/lacme-certs.conf.d/hel01.conf new file mode 100644 index 0000000..87f290b --- /dev/null +++ b/files/etc/lacme/lacme-certs.conf.d/hel01.conf @@ -0,0 +1,7 @@ +[httpd] +certificate-key = /etc/nginx/ssl/hel01.rsa.key +certificate-chain = /etc/nginx/ssl/hel01.rsa.pem +subject = /CN=hel01.guilhem.se +notify = /bin/systemctl reload postfix + +; vim:ft=dosini diff --git a/files/etc/nftables.conf b/files/etc/nftables.conf index e8784ab..7a99b72 100644 --- a/files/etc/nftables.conf +++ b/files/etc/nftables.conf @@ -38,7 +38,8 @@ table inet filter { ct state related,established accept meta l4proto { icmp, icmpv6 } counter accept - tcp dport 22 ct state new counter accept + tcp dport 22 ct state new counter accept + tcp dport {80, 443} ct state new counter accept } chain output { diff --git a/files/etc/nginx/sites-enabled/webmap b/files/etc/nginx/sites-enabled/webmap new file mode 100644 index 0000000..26df41b --- /dev/null +++ b/files/etc/nginx/sites-enabled/webmap @@ -0,0 +1,52 @@ +server { + listen 80; + listen [::]:80; + + server_name hel01.guilhem.se; + + include /etc/lacme/nginx.conf; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log warn; + + location / { + return 301 https://$host$request_uri; + } +} + +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + + server_name hel01.guilhem.se; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log warn; + + ssl_certificate /etc/nginx/ssl/hel01.rsa.pem; + ssl_certificate_key /etc/nginx/ssl/hel01.rsa.key; + include snippets/ssl.conf; + + root /var/www/webmap; + index index.html; + + location ^~ /assets/ { + expires 7d; + gzip_static on; + try_files $uri =404; + } + location ^~ /tiles/ { + expires 1d; + gzip_static on; + try_files $uri =404; + error_page 404 /_.txt; + } + + location = /_.txt { + internal; + } + + location / { + try_files $uri $uri/ =404; + } +} diff --git a/files/etc/nginx/snippets/ssl.conf b/files/etc/nginx/snippets/ssl.conf new file mode 100644 index 0000000..0bce30a --- /dev/null +++ b/files/etc/nginx/snippets/ssl.conf @@ -0,0 +1,16 @@ +ssl_session_timeout 1d; +ssl_session_cache shared:SSL:10m; +ssl_session_tickets off; + +ssl_dhparam /etc/ssl/dhparams.pem; + +ssl_protocols TLSv1.2 TLSv1.3; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; +ssl_prefer_server_ciphers off; + +ssl_stapling on; +ssl_stapling_verify on; + +ssl_trusted_certificate /usr/share/lacme/ca-certificates.crt; + +resolver 127.0.0.53; |