{{ ansible_managed | comment }} {% for site in reverseproxy.redirect_sites %} # Redirect http://{{ site.from }} to http://{{ site.to }} server { listen 80; listen [::]:80; server_name {{ site.from }}; {% for realip in nginx.real_ip_from %} set_real_ip_from {{ realip }}; {% endfor %} real_ip_header P-Real-Ip; location / { return 302 http://{{ site.to }}$request_uri; } } # Redirect https://{{ site.from }} to https://{{ site.to }} server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name {{ site.from }}; # SSL common conf include "/etc/nginx/snippets/options-ssl.{{ site.ssl|default(nginx.default_ssl_domain) }}.conf"; {% for realip in nginx.real_ip_from %} set_real_ip_from {{ realip }}; {% endfor %} real_ip_header P-Real-Ip; location / { return 302 https://{{ site.to }}$request_uri; } } {% endfor %} {# Also redirect for DNAMEs #} {% for dname in reverseproxy.redirect_dnames %} {% for site in reverseproxy.redirect_sites %} {% set from = site.from | regex_replace('crans.org', dname) %} {% if from != site.from %} # Redirect http://{{ from }} to http://{{ site.to }} server { listen 80; listen [::]:80; server_name {{ from }}; {% for realip in nginx.real_ip_from %} set_real_ip_from {{ realip }}; {% endfor %} real_ip_header P-Real-Ip; location / { return 302 http://{{ site.to }}$request_uri; } } # Redirect https://{{ from }} to https://{{ site.to }} server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name {{ from }}; # SSL common conf include "/etc/nginx/snippets/options-ssl.{{ site.ssl|default(nginx.default_ssl_domain) }}.conf"; {% for realip in nginx.real_ip_from %} set_real_ip_from {{ realip }}; {% endfor %} real_ip_header P-Real-Ip; location / { return 302 https://{{ site.to }}$request_uri; } } {% endif %} {% endfor %} {% endfor %}