42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
{% for server_port, backends in servers.items() -%}
|
|
upstream upstream_{{ server_port }} {
|
|
{%- for backend, backend_port in backends %}
|
|
server {{ backend }}:{{ backend_port }};
|
|
{%- endfor %}
|
|
}
|
|
|
|
server {
|
|
listen {{ server_port }} ssl http2;
|
|
listen [::]:{{ server_port }} ssl http2 ipv6only=on;
|
|
server_name server_{{ server_port }};
|
|
|
|
access_log /var/log/nginx.access.log;
|
|
error_log /var/log/nginx.error.log;
|
|
|
|
ssl on;
|
|
ssl_session_cache builtin:1000 shared:SSL:10m;
|
|
ssl_certificate {{ server_certificate }};
|
|
ssl_certificate_key {{ server_key }};
|
|
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
|
|
ssl_prefer_server_ciphers on;
|
|
|
|
|
|
location / {
|
|
proxy_buffering off;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header X-Forwarded-Proto-Version $http2;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection $http_connection;
|
|
proxy_set_header X-Stream-Protocol-Version $http_x_stream_protocol_version;
|
|
|
|
add_header X-Stream-Protocol-Version $upstream_http_x_stream_protocol_version;
|
|
|
|
proxy_pass https://upstream_{{ server_port }};
|
|
proxy_read_timeout {{ proxy_read_timeout }};
|
|
}
|
|
}
|
|
{%- endfor %}
|