144 lines
3.6 KiB
Text
144 lines
3.6 KiB
Text
|
{% block server_redirect -%}
|
||
|
{% if item.server_name_redirect is defined -%}
|
||
|
server {
|
||
|
listen 80;
|
||
|
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') }};
|
||
|
server_name {{ item.server_name }};
|
||
|
root {{ item.root }};
|
||
|
index {{ item.index | default('index.php index.html index.htm') }};
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block server_logs -%}
|
||
|
{%- if item.access_log is defined -%}
|
||
|
access_log {{ item.access_log }};
|
||
|
{%- endif -%}
|
||
|
error_log {{ item.error_log|default('/var/log/nginx/error.log') }} info;
|
||
|
{% endblock %}
|
||
|
|
||
|
{% if item.is_php is defined and item.is_php %}
|
||
|
{% block location_primary -%}
|
||
|
location / {
|
||
|
# Don't touch PHP for static content.
|
||
|
try_files $uri $uri/ /index.php?$query_string;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_deny -%}
|
||
|
# Don't allow direct access to PHP files in the vendor directory.
|
||
|
location ~ /vendor/.*\.php$ {
|
||
|
deny all;
|
||
|
return 404;
|
||
|
}
|
||
|
# Allow "Well-Known URIs" as per RFC 5785
|
||
|
location ~* ^/.well-known/ {
|
||
|
allow all;
|
||
|
}
|
||
|
location ~ (^|/)\. {
|
||
|
return 403;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_drupal_legacy -%}
|
||
|
{% if drupal_major_version == 8 -%}
|
||
|
# Redirect common PHP files to their new locations.
|
||
|
location ~ ^((?!.*(?:core)).*)/(install.php|rebuild.php) {
|
||
|
return 301 $scheme://$host$1/core/$2$is_args$args;
|
||
|
}
|
||
|
{% endif %}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_php -%}
|
||
|
# Use fastcgi for all php files.
|
||
|
location ~ \.php$|^/update.php {
|
||
|
fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
|
||
|
fastcgi_index index.php;
|
||
|
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||
|
fastcgi_intercept_errors on;
|
||
|
fastcgi_read_timeout {{ php_max_execution_time }};
|
||
|
include fastcgi_params;
|
||
|
fastcgi_pass {{ php_fpm_listen }};
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_rewrite -%}
|
||
|
location @rewrite {
|
||
|
rewrite ^ /index.php;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_image_styles -%}
|
||
|
location ~ ^/sites/.*/files/styles/ {
|
||
|
try_files $uri @rewrite;
|
||
|
}
|
||
|
location ~ ^(/[a-z\-]+)?/system/files/ {
|
||
|
try_files $uri /index.php?$query_string;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_favicon -%}
|
||
|
location = /favicon.ico {
|
||
|
log_not_found off;
|
||
|
access_log off;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_robots -%}
|
||
|
location = /robots.txt {
|
||
|
allow all;
|
||
|
log_not_found off;
|
||
|
access_log off;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block location_assets -%}
|
||
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||
|
expires max;
|
||
|
log_not_found off;
|
||
|
}
|
||
|
{% endblock %}
|
||
|
{% endif %}
|
||
|
|
||
|
{% block server_compression -%}
|
||
|
gzip on;
|
||
|
gzip_proxied any;
|
||
|
gzip_static on;
|
||
|
gzip_http_version 1.0;
|
||
|
gzip_disable "MSIE [1-6]\.";
|
||
|
gzip_vary on;
|
||
|
gzip_comp_level 6;
|
||
|
gzip_types
|
||
|
text/plain
|
||
|
text/css
|
||
|
text/xml
|
||
|
text/javascript
|
||
|
application/javascript
|
||
|
application/x-javascript
|
||
|
application/json
|
||
|
application/xml
|
||
|
application/xml+rss
|
||
|
application/xhtml+xml
|
||
|
application/x-font-ttf
|
||
|
application/x-font-opentype
|
||
|
image/svg+xml
|
||
|
image/x-icon;
|
||
|
gzip_buffers 16 8k;
|
||
|
gzip_min_length 512;
|
||
|
{% endblock %}
|
||
|
|
||
|
{% block server_end -%}{% endblock %}
|
||
|
|
||
|
{% if item.extra_parameters is defined -%}
|
||
|
{{ item.extra_parameters|indent(4) }}
|
||
|
{%- endif %}
|
||
|
}
|