diff --git a/templates/etc/nginx/sites-available/_base.j2 b/templates/etc/nginx/sites-available/_base.j2 index c5fd3ea..4c9a5f2 100644 --- a/templates/etc/nginx/sites-available/_base.j2 +++ b/templates/etc/nginx/sites-available/_base.j2 @@ -10,6 +10,9 @@ {% set __ssl_name = item.ssl_name | default(item.name if item.name is string else item.name[0]) %} {% set __location_order = item.location_order | default(__location.keys()) %} {% set __location_order_before = item.location_order_before | default(__location_before.keys()) %} +{% macro server_name(name) %} +{% if name is string %}{{ name }}{% else %}{{ name | join(" ") }}{% endif %} +{% endmacro %} {% macro locations(list, order) %} {% if order | length > 0 %} # --> Custom locations @@ -47,7 +50,7 @@ server { {% for port in __listen %} listen {{ port }}{% if port | int in __http_proxy_protocol_port %} proxy_protocol{% endif %}; {% endfor %} - server_name {{ name }}; + server_name {{ server_name(name) }}; location / { return 301 https://{{ name }}{% if '443' not in __listen_ssl and 443 not in __listen_ssl %}:{{ __listen_ssl[0] }}{% endif %}$request_uri; } @@ -76,7 +79,7 @@ server { include {{ nginx_helper_dir + '/ssl-' + item.ssl_template | default('strong') }}; {% endif %} {% endif %} - server_name {% if item.name is string %}{{ item.name }}{% else %}{{ "\n\t\t" }}{{ item.name | join("\n\t\t") }}{% endif %}; + server_name {{ server_name(item.name) }}; {% block root %} {% if item.root is defined %} root {{ item.root }}; @@ -181,7 +184,7 @@ server { {% for port in __listen %} listen {{ port }}{% if port | int in __http_proxy_protocol_port %} proxy_protocol{% endif %}; {% endfor %} - server_name {% if item.redirect_from is string %}{{ item.redirect_from }}{% else %}{{ "\n\t\t" }}{{ item.redirect_from | join("\n\t\t") }}{% endif %}; + server_name {{ server_name(item.redirect_from) }}; location / { return 301 $scheme://{{ item.name if item.name is string else item.name[0] }}$request_uri; } @@ -196,7 +199,7 @@ server { {% if item.ssl_template is not defined or item.ssl_template != false %} include {{ nginx_helper_dir + '/ssl-' + item.ssl_template | default('strong') }}; {% endif %} - server_name {% if item.redirect_from is string %}{{ item.redirect_from }}{% else %}{{ "\n\t\t" }}{{ item.redirect_from | join("\n\t\t") }}{% endif %}; + server_name {{ server_name(item.redirect_from) }}; location / { return 301 https://{{ item.name if item.name is string else item.name[0] }}{% if '443' not in __listen_ssl and 443 not in __listen_ssl %}:{{ __listen_ssl[0] }}{% endif %}$request_uri; }