{% if service_alternate_domains %}
{% for domain in service_alternate_domains %}

server {
    listen       80;
    listen       [::]:80;
    server_name  {{ domain }};

    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log reduced;
    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log.json json_reduced;
    error_log    {{ maintenance_logs_dir }}/{{ service_domain }}-error.log;

    include snippets/letsencrypt.conf;

    location / {
        access_log off;
        return 301 https://$server_name$request_uri;
    }
}

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  {{ domain }};

    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log reduced;
    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log.json json_reduced;
    error_log    {{ maintenance_logs_dir }}/{{ service_domain }}-error.log;

    ssl_certificate      /etc/letsencrypt/live/{{ service_domain }}/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/{{ service_domain }}/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/{{ service_domain }}/chain.pem;

    location / {
        access_log off;
        return 301 https://{{ service_domain }};
    }
}
{% endfor %}

server {
{% else %}

server {
{% endif %}
    listen       80;
    listen       [::]:80;
    server_name  {{ service_domain }};

    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log reduced;
    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log.json json_reduced;
    error_log    {{ maintenance_logs_dir }}/{{ service_domain }}-error.log;

    include snippets/letsencrypt.conf;

    location / {
        access_log off;
        return 301 https://$server_name$request_uri;
    }
}

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  {{ service_domain }};

    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log reduced;
    access_log   {{ maintenance_logs_dir }}/{{ service_domain }}-access.log.json json_reduced;
    error_log    {{ maintenance_logs_dir }}/{{ service_domain }}-error.log;

    ssl_certificate      /etc/letsencrypt/live/{{ service_domain }}/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/{{ service_domain }}/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/{{ service_domain }}/chain.pem;

    error_page 503 /503.html;

    location / {
        return 503;
    }

    location = /503.html {
        root {{ maintenance_http_dir }}/{{ service_domain }};
    }
}
