# Depending on which port is used for federation (.well-known/matrix/server or SRV record),
# ensure there's a binding for that port in the configuration. Replace "FEDPORT" with port
# number, (e.g. "8448"), and "IPV4" with your server's ipv4 address (separate binding for
# each ip address, e.g. if you use both ipv4 and ipv6 addresses).

Binding {
        Port = FEDPORT
        Interface = IPV4
        TLScertFile = /path/to/fullchainandprivkey.pem
}


VirtualHost {
        ...
        # route requests to:
        # /_matrix/client/.*/sync
        # /_matrix/client/.*/user/{userId}/filter
        # /_matrix/client/.*/user/{userId}/filter/{filterID}
        # /_matrix/client/.*/keys/changes
        # /_matrix/client/.*/rooms/{roomId}/messages
        # to sync_api
        ReverseProxy = /_matrix/client/.*?/(sync|user/.*?/filter/?.*|keys/changes|rooms/.*?/messages) http://localhost:8073 600
        ReverseProxy = /_matrix/client http://localhost:8071 600
        ReverseProxy = /_matrix/federation http://localhost:8072 600
        ReverseProxy = /_matrix/key http://localhost:8072 600
        ReverseProxy = /_matrix/media http://localhost:8074 600
        ...
}