{% block server_redirect %}
{% if item.server_name_redirect is defined %}
server {
    listen       {{ item.listen | default('80') }};
{% if nginx_listen_ipv6 %}
    listen       [::]:{{item.listen | default('80') }};
{% endif %}
    server_name  {{ item.server_name_redirect }};
    return       301 $scheme://{{ item.server_name.split(' ')[0] }}$request_uri;
}
{% endif %}
{% endblock %}

server {
    {% block server_begin %}{% endblock %}

    {% block server_basic -%}
    listen {{ item.listen | default('80') }};
{% if nginx_listen_ipv6 %}
    listen       [::]:{{item.listen | default('80') }};
{% endif %}

{% if item.server_name is defined %}
    server_name {{ item.server_name }};
{% endif %}

{% if item.root is defined %}
    root {{ item.root }};
{% endif %}
{% if item.index is defined  and  item.index | length > 0 %}
    index {{ item.index | default('index.html index.htm') }};
{% endif %}
{% if item.error_page is defined and item.error_page.strip() != '' %}
    error_page {{ item.error_page }};
{% endif %}
{% if item.access_log is defined %}
    access_log {{ item.access_log }};
{% endif %}
{% if item.error_log is defined %}
    error_log {{ item.error_log }} error;
{% endif %}

{% if item.return is defined %}
    return {{ item.return }};
{% endif %}
    {% endblock %}

    {% block server_end %}{% endblock %}

{% if item.extra_parameters is defined %}
    {{ item.extra_parameters|indent(4) }}
{% endif %}
}
