Files
upstream-zulip/templates/zerver/config_error/proxy.html
upstream-mirror 64898b2c79
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

93 lines
2.8 KiB
HTML

{% extends "zerver/config_error/container.html" %}
{% macro setting() -%}
{%- if helm_config -%}
<code>zulip.environment.LOADBALANCER_IPS</code> in your Helm values
{%- elif docker_config -%}
<code>LOADBALANCER_IPS</code> in your Docker image's environment
{%- else -%}
<code>ips</code> in the <code>[loadbalancer]</code> section of <code>/etc/zulip/zulip.conf</code>
{%- endif -%}
{%- endmacro %}
{% block error_body %}
{% if not current_proxies and not x_forwarded_for %}
<p>
You have not configured any reverse proxies in {{ setting() }},
and an HTTP request was received without any reverse proxy
headers. Zulip requires that all client traffic to it be over
HTTPS. Since you have configured Zulip itself to be served over
HTTP, it must be placed behind a proxy which does TLS termination.
</p>
<p>
You must configure a reverse proxy in front of Zulip which serves
traffic over HTTPS, and configure Zulip to trust that proxy, by
adding its IP to {{ setting() }}. See our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
>documentation about deploying behind reverse proxies</a> for more
details.
</p>
{% elif not current_proxies %}
<p>
You have not configured any reverse proxies in {{ setting() }},
but reverse proxy headers were detected in a request from
<code>{{ remote_addr }}</code>.
</p>
<p>
Add <code>{{ remote_addr }}</code> to {{ setting() }} and restart
your Zulip server. See
our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
>documentation about deploying behind reverse proxies</a> for more
details.
</p>
{% elif not x_forwarded_proto %}
<p>
You have configured reverse proxies (<code>{{ current_proxies }}</code>),
and traffic is being served through them, but the remote proxy did
not send an <code>X-Forwarded-Proto</code> header.
</p>
<p>
Please read our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
>documentation about configuring your reverse proxy</a>, and
configure your proxy to send an <code>X-Forwarded-Proto</code>
header.
</p>
{% else %}
<p>
You have configured reverse proxies (<code>{{ current_proxies }}</code>),
but this request did not come from a matching IP address -- it
came from <code>{{ remote_addr }}</code>.
</p>
<p>
You should update {{ setting() }} to include <code>{{ remote_addr }}</code>,
and restart your Zulip server. See our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
>documentation about deploying behind reverse proxies</a> for more
details.
</p>
{% endif %}
<hr />
<h2>Request headers:</h2>
<pre>
{% for item in all_headers -%}
{% if item[1] != "" -%}
{{ item[0] }}: {{ item[1] }}
{% endif -%}
{% endfor -%}
</pre>
{% endblock %}