This is beacause nginx will do canonization of URIs before proxy-passing if you add anything after the port host:port. For example, with: location /anything { proxy_pass http://127.0.0.1:8008/anything; } NGINX will perform canonization, but with: location /anything { proxy_pass http://127.0.0.1:8008 # With NO Trailing slash } NGINX will pass the unaltered original request, included /anything, to the upstream server. Canonization leads to problem when federating to other matrix-synapse instances. The observed bug was: - User A on our server (@A:our.server) invites User B on external server (@B:matrix.org). - User B correctly receive the invite. - User B try to join the room but the request timeout. - On our.sever logs we see "signature tampered" errors related to incoming connection from the external server (matrix.org). This commit fix the issue.python3