Delegation: Difference between revisions
Matrix>Sininenkissa m Use {{ic|example}} instead of <code> |
Matrix>Sininenkissa m Use {{bc|example}} instead of Visual editor code block |
||
Line 10: | Line 10: | ||
The URL {{ic|https://<server_name>/.well-known/matrix/server}} should be configured to return a JSON structure containing the key {{ic|m.server}} like this: | The URL {{ic|https://<server_name>/.well-known/matrix/server}} should be configured to return a JSON structure containing the key {{ic|m.server}} like this: | ||
{{bc| | |||
{ | { | ||
"m.server": "<synapse.server.name>[:<yourport>]" | "m.server": "<synapse.server.name>[:<yourport>]" | ||
} | } | ||
}} | |||
{{Note| | {{Note| | ||
*Specifying a port is optional. If no port is specified, then it defaults to 8448. | *Specifying a port is optional. If no port is specified, then it defaults to 8448. |
Revision as of 22:14, 15 January 2024
Delegation is a Matrix feature allowing a homeserver admin to retain an URL of example.com so that user IDs, etc. continue to look like *:example.com
, whilst having federation traffic routed to a different server and/or port (e.g. matrix.example.com:443
). There are multiple ways to do this. This includes with the .well-known
file and SRV DNS records.
.well-known delegation
To use this method, you need to be able to configure the server at https://<server_name>
to serve a file at https://<server_name>/.well-known/matrix/server
. There are two ways to do this, shown below.
Using a web server
This is the more commonly used method, and is the only method if you are using server software that is not Synapse. You need to configure a server such as nginx or Apache to serve the https://<server_name>/.well-known/matrix/server
file. Setting up such a server is out of the scope of the wiki, but note that it is often possible to configure your reverse proxy for this.
The URL https://<server_name>/.well-known/matrix/server
should be configured to return a JSON structure containing the key m.server
like this:
{ "m.server": "<synapse.server.name>[:<yourport>]" }