matrix.example.tld { handle { encode zstd gzip # Use the docker service name instead of localhost or 127.0.0.1 here matrix-traefik:8080 { header_up X-Forwarded-Port {http.request.port} header_up X-Forwarded-TlsProto {tls_protocol} header_up X-Forwarded-TlsCipher {tls_cipher} header_up X-Forwarded-HttpsProto {proto} } } } # Put `https://` at the beginning to enforce https protocol as 8448 is not the default https port (which is 443) https://matrix.example.tld:8448 { handle { encode zstd gzip # Use the docker service name instead of localhost or 127.0.0.1 here reverse_proxy matrix-traefik:8448 { header_up X-Forwarded-Port {http.request.port} header_up X-Forwarded-TlsProto {tls_protocol} header_up X-Forwarded-TlsCipher {tls_cipher} header_up X-Forwarded-HttpsProto {proto} } } } example.tld { # Uncomment this if you are following "(Option 3): Setting up reverse-proxying of the well-known files from the base domain's server to the Matrix server" of https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-well-known.md#option-3-setting-up-reverse-proxying-of-the-well-known-files-from-the-base-domains-server-to-the-matrix-server @wellknown { path /.well-known/matrix/* } handle @wellknown { reverse_proxy https://matrix.example.tld { header_up Host {http.reverse_proxy.upstream.hostport} } } }