68 lines
1.3 KiB
Text
68 lines
1.3 KiB
Text
|
{{ ansible_header | comment }}
|
||
|
|
||
|
{% for site in nginx.redirect_sites %}
|
||
|
# Redirect http://{{ site.from }} to http://{{ site.to }}
|
||
|
server {
|
||
|
listen 80;
|
||
|
listen [::]:80;
|
||
|
|
||
|
server_name {{ site.from }};
|
||
|
|
||
|
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.conf";
|
||
|
|
||
|
location / {
|
||
|
return 302 https://{{ site.to }}$request_uri;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
{% endfor %}
|
||
|
|
||
|
{# Also redirect for DNAMEs #}
|
||
|
{% for dname in nginx.redirect_dnames %}
|
||
|
{% for site in nginx.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 }};
|
||
|
|
||
|
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.conf";
|
||
|
|
||
|
location / {
|
||
|
return 302 https://{{ site.to }}$request_uri;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
{% endif %}
|
||
|
{% endfor %}
|
||
|
{% endfor %}
|