diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 index 77f782285..c94855d59 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 @@ -12,6 +12,7 @@ {% macro render_worker_upstream(name, workers) %} {% if workers | length > 0 %} upstream {{ name }} { + keepalive {{ workers | length * 2 }}; {% for worker in workers %} server "{{ worker.name }}:{{ worker.port }}"; {% endfor %} @@ -24,6 +25,8 @@ location ~ {{ location }} { proxy_pass http://{{ upstream_name }}$request_uri; proxy_set_header Host $host; + proxy_http_version 1.1; + proxy_set_header Connection ""; } {% endfor %} {% endmacro %} @@ -39,6 +42,7 @@ # ensures that requests from the same client will always be passed # to the same server (except when this server is unavailable) hash $http_x_forwarded_for; + keepalive {{ generic_workers | length * 2 }}; {% for worker in generic_workers %} server "{{ worker.name }}:{{ worker.port }}";