diff --git a/docs/configuring-well-known.md b/docs/configuring-well-known.md index a8e81c732..621dec0e9 100644 --- a/docs/configuring-well-known.md +++ b/docs/configuring-well-known.md @@ -110,6 +110,25 @@ server { proxy /.well-known/matrix https://matrix.DOMAIN ``` +**For HAProxy**, it would be something like this: + +```haproxy +frontend www-https + # Select a Challenge for Matrix federation redirect + acl matrix-acl path_beg /.well-known/matrix/ + # Use the challenge backend if the challenge is set + use_backend matrix-backend if matrix-acl +backend matrix-backend + # Redirects the .well-known matrix to the matrix server for federation. + http-request set-header Host matrix.example.com + server matrix matrix.example.com:80 + # Map url path as ProxyPass does + reqirep ^(GET|POST|HEAD)\ /.well-known/matrix/(.*) \1\ /\2 + # Rewrite redirects as ProxyPassReverse does + acl response-is-redirect res.hdr(Location) -m found + rsprep ^Location:\ (http|https)://matrix.example.com\/(.*) Location:\ \1://matrix.exapmle.com/.well-known/matrix/\2 if response-is-redirect +``` + Make sure to: - **replace `DOMAIN`** in the server configuration with your actual domain name