From 2b8e0dbbffcabb7f35cc5d33dbd9b57b29592567 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO <ynerant@crans.org> Date: Sat, 2 Jan 2021 18:49:08 +0100 Subject: [PATCH] [nginx] Fix nginx template, this is now usable Signed-off-by: Yohann D'ANELLO <ynerant@crans.org> --- group_vars/mailman.yml | 5 +++- group_vars/nginx.yml | 6 +++++ group_vars/reverseproxy.yml | 2 -- roles/nginx/tasks/main.yml | 11 ++++++++ roles/nginx/templates/nginx/passwd.j2 | 2 +- .../nginx/sites-available/service.j2 | 27 ++++++++++--------- .../templates/www/{ => html}/401.html.j2 | 0 7 files changed, 37 insertions(+), 16 deletions(-) rename roles/nginx/templates/www/{ => html}/401.html.j2 (100%) diff --git a/group_vars/mailman.yml b/group_vars/mailman.yml index 4a70e7f4..cd7d754b 100644 --- a/group_vars/mailman.yml +++ b/group_vars/mailman.yml @@ -25,7 +25,10 @@ loc_nginx: - filter: "~ ^/$" params: - "return 302 https://lists.crans.org/listinfo" - - filter: "~ ^/admin" + - filter: "/" + params: + - "include \"/etc/nginx/snippets/fastcgi.conf\"" + - filter: "~ ^/listinfo" params: - "satisfy any" - "include \"/etc/nginx/snippets/fastcgi.conf\"" diff --git a/group_vars/nginx.yml b/group_vars/nginx.yml index 00383aea..1d97f621 100644 --- a/group_vars/nginx.yml +++ b/group_vars/nginx.yml @@ -1,13 +1,19 @@ --- glob_nginx: + contact: contact@crans.org + who: "L'équipe technique du Cr@ns" ssl: cert: /etc/letsencrypt/live/crans.org/fullchain.pem cert_key: /etc/letsencrypt/live/crans.org/privkey.pem trusted_cert: /etc/letsencrypt/live/crans.org/chain.pem + default_server: + default_ssl_server: servers: + ssl: false server_name: - "default" - "_" root: "/var/www/html" locations: - filter: "/" + upstreams: [] diff --git a/group_vars/reverseproxy.yml b/group_vars/reverseproxy.yml index 49f1ed78..fb542879 100644 --- a/group_vars/reverseproxy.yml +++ b/group_vars/reverseproxy.yml @@ -6,8 +6,6 @@ certbot: domains: "crans.org, *.crans.org, crans.fr, *.crans.fr, crans.eu, *.crans.eu" nginx: - contact: contact@crans.org - who: "l'équipe technique du Cr@ns" ssl: cert: /etc/letsencrypt/live/crans.org/fullchain.pem cert_key: /etc/letsencrypt/live/crans.org/privkey.pem diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml index 441ac4dd..8d6d3823 100644 --- a/roles/nginx/tasks/main.yml +++ b/roles/nginx/tasks/main.yml @@ -25,6 +25,7 @@ template: src: "nginx/sites-available/{{ item }}.j2" dest: "/etc/nginx/sites-available/{{ item }}" + mode: 0644 loop: - reverseproxy - reverseproxy_redirect_dname @@ -49,6 +50,7 @@ template: src: "nginx/sites-available/service.j2" dest: "/etc/nginx/sites-available/service" + mode: 0644 notify: Reload nginx - name: Activate local nginx service site @@ -64,12 +66,18 @@ template: src: www/html/50x.html.j2 dest: /var/www/html/50x.html + owner: www-data + group: www-data + mode: 0644 - name: Copy robots.txt file when: nginx.deploy_robots_file template: src: www/html/robots.txt.j2 dest: /var/www/html/robots.txt + owner: www-data + group: www-data + mode: 0644 - name: Indicate role in motd template: @@ -89,3 +97,6 @@ template: src: www/html/401.html.j2 dest: /var/www/html/401.html + owner: www-data + group: www-data + mode: 0644 diff --git a/roles/nginx/templates/nginx/passwd.j2 b/roles/nginx/templates/nginx/passwd.j2 index ea58b2da..e87369c9 100644 --- a/roles/nginx/templates/nginx/passwd.j2 +++ b/roles/nginx/templates/nginx/passwd.j2 @@ -1,4 +1,4 @@ {{ ansible_header | comment }} -{% for user, hash in nginx.auth_passwd -%} +{% for user, hash in nginx.auth_passwd.items() -%} {{ user }}: {{ hash }} {% endfor -%} diff --git a/roles/nginx/templates/nginx/sites-available/service.j2 b/roles/nginx/templates/nginx/sites-available/service.j2 index 13569dcc..11afc9d5 100644 --- a/roles/nginx/templates/nginx/sites-available/service.j2 +++ b/roles/nginx/templates/nginx/sites-available/service.j2 @@ -7,14 +7,14 @@ upstream {{ upstream.name }} { } {% endfor -%} -{% if nginx.default_ssl_host -%} +{% if nginx.default_ssl_server -%} # Redirect all services to the main site server { listen 443 default_server ssl; listen [::]:443 default_server ssl; include "/etc/nginx/snippets/options-ssl.conf"; - server_name {{ ngix.default_ssl_server }}; + server_name {{ nginx.default_ssl_server }}; charset utf-8; # Hide Nginx version @@ -51,20 +51,20 @@ server { listen 80 default; listen [::]:80 default; - server_name {{ server.server_name|join:" " }}; + server_name {{ server.server_name|join(" ") }}; charset utf-8; # Hide Nginx version server_tokens off; location / { - return 302 https://{{ server.server_name }}$request_uri; + return 302 https://$host$request_uri; } } {% endif -%} server { - {% if server.ssl -%} + {% if server.ssl is defined and server.ssl -%} listen 443 default_server ssl; listen [::]:443 default_server ssl; include "/etc/nginx/snippets/options-ssl.conf"; @@ -73,32 +73,35 @@ server { listen [::]:80 default; {% endif -%} - server_name {{ server.server_name }}; + server_name {{ server.server_name|join(" ") }}; charset utf-8; # Hide Nginx version server_tokens off; - {% if server.root -%} + {% if server.root is defined -%} root {{ server.root }}; {% endif -%} - {% if server.index -%} - index {{ server.index|join:" " }}; + {% if server.index is defined -%} + index {{ server.index|join(" ") }}; {% endif -%} - {% if server.access_log -%} + {% if server.access_log is defined -%} access_log {{ server.access_log }}; {% endif -%} - {% if server.error_log -%} + {% if server.error_log is defined -%} error_log {{ server.error_log }}; {% endif -%} + {% if server.locations is defined -%} + {% for location in server.locations -%} location {{ location.filter }} { - {% for param in params -%} + {% for param in location.params -%} {{ param }}; {% endfor -%} } {% endfor -%} +{% endif -%} } {% endfor %} diff --git a/roles/nginx/templates/www/401.html.j2 b/roles/nginx/templates/www/html/401.html.j2 similarity index 100% rename from roles/nginx/templates/www/401.html.j2 rename to roles/nginx/templates/www/html/401.html.j2 -- GitLab