From bc72ead7c4be719a3cf24b4f063f2156d85126e7 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 1 Jun 2024 18:04:54 +0200 Subject: tasks/httpd.yml: Create /etc/nginx/sites-enabled/webmap as a symlink. --- files/etc/nginx/sites-available/webmap | 80 ++++++++++++++++++++++++++++++++++ files/etc/nginx/sites-enabled/webmap | 80 ---------------------------------- tasks/httpd.yml | 13 ++++-- 3 files changed, 90 insertions(+), 83 deletions(-) create mode 100644 files/etc/nginx/sites-available/webmap delete mode 100644 files/etc/nginx/sites-enabled/webmap diff --git a/files/etc/nginx/sites-available/webmap b/files/etc/nginx/sites-available/webmap new file mode 100644 index 0000000..d16ab60 --- /dev/null +++ b/files/etc/nginx/sites-available/webmap @@ -0,0 +1,80 @@ +server { + listen 80; + listen [::]:80; + + server_name karta.klimatanalysnorr.se 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; + listen [::]:443; + + 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/webmap.rsa.pem; + ssl_certificate_key /etc/nginx/ssl/webmap.rsa.key; + include snippets/ssl.conf; + + location / { + return 303 https://karta.klimatanalysnorr.se$request_uri; + } +} + +server { + listen 443 ssl http2 default_server; + listen [::]:443 ssl http2 default_server; + + server_name karta.klimatanalysnorr.se; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log warn; + + ssl_certificate /etc/nginx/ssl/webmap.rsa.pem; + ssl_certificate_key /etc/nginx/ssl/webmap.rsa.key; + include snippets/ssl.conf; + + add_header Referrer-Policy "no-referrer"; + add_header X-Frame-Options "SAMEORIGIN"; + add_header X-Content-Type-Options "nosniff"; + add_header X-XSS-Protection "1; mode=block"; + add_header Strict-Transport-Security "max-age=31557600; includeSubDomains" always; + add_header Content-Security-Policy "default-src 'none'; connect-src 'self'; font-src 'self'; frame-src 'self'; img-src 'self' data: https://minkarta.lantmateriet.se/map/; script-src 'self'; style-src 'self'; frame-ancestors 'self'; form-action 'none'; base-uri 'self'"; + + 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 { + # cache 404 responses + add_header Strict-Transport-Security "max-age=31557600; includeSubDomains" always; + add_header Cache-Control "public; max-age=86400" always; + internal; + } + + location / { + try_files $uri $uri/ =404; + } +} diff --git a/files/etc/nginx/sites-enabled/webmap b/files/etc/nginx/sites-enabled/webmap deleted file mode 100644 index d16ab60..0000000 --- a/files/etc/nginx/sites-enabled/webmap +++ /dev/null @@ -1,80 +0,0 @@ -server { - listen 80; - listen [::]:80; - - server_name karta.klimatanalysnorr.se 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; - listen [::]:443; - - 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/webmap.rsa.pem; - ssl_certificate_key /etc/nginx/ssl/webmap.rsa.key; - include snippets/ssl.conf; - - location / { - return 303 https://karta.klimatanalysnorr.se$request_uri; - } -} - -server { - listen 443 ssl http2 default_server; - listen [::]:443 ssl http2 default_server; - - server_name karta.klimatanalysnorr.se; - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log warn; - - ssl_certificate /etc/nginx/ssl/webmap.rsa.pem; - ssl_certificate_key /etc/nginx/ssl/webmap.rsa.key; - include snippets/ssl.conf; - - add_header Referrer-Policy "no-referrer"; - add_header X-Frame-Options "SAMEORIGIN"; - add_header X-Content-Type-Options "nosniff"; - add_header X-XSS-Protection "1; mode=block"; - add_header Strict-Transport-Security "max-age=31557600; includeSubDomains" always; - add_header Content-Security-Policy "default-src 'none'; connect-src 'self'; font-src 'self'; frame-src 'self'; img-src 'self' data: https://minkarta.lantmateriet.se/map/; script-src 'self'; style-src 'self'; frame-ancestors 'self'; form-action 'none'; base-uri 'self'"; - - 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 { - # cache 404 responses - add_header Strict-Transport-Security "max-age=31557600; includeSubDomains" always; - add_header Cache-Control "public; max-age=86400" always; - internal; - } - - location / { - try_files $uri $uri/ =404; - } -} diff --git a/tasks/httpd.yml b/tasks/httpd.yml index 2138d35..22757d5 100644 --- a/tasks/httpd.yml +++ b/tasks/httpd.yml @@ -29,13 +29,20 @@ mode=0644 notify: Reload nginx -- name: Copy /etc/nginx/sites-enabled/webmap - copy: src=etc/nginx/sites-enabled/webmap - dest=/etc/nginx/sites-enabled/webmap +- name: Copy /etc/nginx/sites-available/webmap + copy: src=etc/nginx/sites-available/webmap + dest=/etc/nginx/sites-available/webmap owner=root group=root mode=0644 notify: Reload nginx +- name: Create /etc/nginx/sites-enabled/webmap + file: src=../sites-available/webmap + dest=/etc/nginx/sites-enabled/webmap + owner=root group=root + state=link force=yes + notify: Reload nginx + - name: Create directory /var/www/webmap file: path=/var/www/webmap state=directory -- cgit v1.2.3