3 files changed, 44 insertions, 0 deletions
diff --git a/docs/reverse_proxy.md b/docs/reverse_proxy.md
index de72fbde96..7128af114e 100644
--- a/docs/reverse_proxy.md
+++ b/docs/reverse_proxy.md
@@ -186,6 +186,25 @@ Example configuration, if using a UNIX socket. The configuration lines regarding
backend matrix
server matrix unix@/run/synapse/main_public.sock
```
+Example configuration when using a single port for both client and federation traffic.
+```
+frontend https
+ bind *:443,[::]:443 ssl crt /etc/ssl/haproxy/ strict-sni alpn h2,http/1.1
+ http-request set-header X-Forwarded-Proto https if { ssl_fc }
+ http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
+ http-request set-header X-Forwarded-For %[src]
+
+ acl matrix-host hdr(host) -i matrix.example.com matrix.example.com:443
+ acl matrix-sni ssl_fc_sni matrix.example.com
+ acl matrix-path path_beg /_matrix
+ acl matrix-path path_beg /_synapse/client
+
+ use_backend matrix if matrix-host matrix-path
+ use_backend matrix if matrix-sni
+
+backend matrix
+ server matrix 127.0.0.1:8008
+```
[Delegation](delegate.md) example:
```
diff --git a/docs/upgrade.md b/docs/upgrade.md
index 7f67ef8806..640fed3ae3 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -97,6 +97,26 @@ v1.61.0.
<!-- REPLACE_WITH_SCHEMA_VERSIONS -->
+## Upgrading from a very old version
+
+You need to read all of the upgrade notes for each version between your current
+version and the latest so that you can update your dependencies, environment,
+config files, etc. if necessary. But you do not need to perform an
+upgrade to each individual version that was missed.
+
+We do not have a list of which versions must be installed. Instead, we recommend
+that you upgrade through each incompatible database schema version, which would
+give you the ability to roll back the maximum number of versions should anything
+go wrong. See [Rolling back to older versions](#rolling-back-to-older-versions)
+above.
+
+Additionally, new versions of Synapse will occasionally run database migrations
+and background updates to update the database. Synapse will not start until
+database migrations are complete. You should wait until background updates from
+each upgrade are complete before moving on to the next upgrade, to avoid
+stacking them up. You can monitor the currently running background updates with
+[the Admin API](usage/administration/admin_api/background_updates.html#status).
+
# Upgrading to v1.100.0
## Minimum supported Rust version
diff --git a/docs/usage/administration/admin_faq.md b/docs/usage/administration/admin_faq.md
index 5c9ee7d0aa..092dcc1c84 100644
--- a/docs/usage/administration/admin_faq.md
+++ b/docs/usage/administration/admin_faq.md
@@ -120,6 +120,11 @@ for file in $source_directory/*; do
done
```
+How do I upgrade from a very old version of Synapse to the latest?
+---
+See [this](../../upgrade.html#upgrading-from-a-very-old-version) section in the
+upgrade docs.
+
Manually resetting passwords
---
Users can reset their password through their client. Alternatively, a server admin
|