Delegation
In Matrix basiert das Auffinden eines Homeservers im Federation-Protokoll bzw. der Matrix-Föderation standardmäßig auf der Domain im server_name
(z.B. deine-domain.de
) und erwartet die Erreichbarkeit über HTTPS. Wenn das nicht möglich ist, muss der Netzwerkverkehr der Föderation delegiert werden, damit andere Server wissen, wohin sie Anfragen senden sollen.
.well-known Delegation
Die am meisten empfohlene Methode zur Delegation ist die Verwendung einer .well-known
-Datei. Dabei wird eine spezielle Datei unter z.B. https://deine-domain.de/.well-known/matrix/server
bereitgestellt, die als JSON formatiert das Ziel des Federation-Traffics bekannt gibt. (das Verzeichnis ist /.well-known/matrix/
, der Dateiname ist server
)
{
"m.server": "matrix.deine-domain.de:443"
}
Hier zeigt m.server
auf den eigentlichen Matrix-Server und optional einen anderen Port, der die Anfragen entgegen nimmt.
Zur einfacheren Konfiguration der Clients, z.B. Element kann optional unter der URL https://deine-domain.de/.well-known/matrix/client
noch die folgende Datei angelegt werden (das Verzeichnis ist das selbe wie oben, der Dateiname ist client
):
{
"m.homeserver": {
"base_url": "https://matrix.deine-domain.de/",
"server_name": "deine-domain.de"
}
}
Ähnlich zu einem E-Mail-Client verrät die client
Datei den Matrix-kompatiblen Apps den Pfad zum Matrix-Server, sobald die Hauptdomain eingegeben wird.
Einrichtungsmöglichkeiten
- Externer Webserver / Reverse Proxy: Eine eigene Webserver- oder Proxy-Konfiguration (z.B. nginx, Apache, HAProxy) liefert die
.well-known
-Datei aus. - Synapse-eigene Bereitstellung: Falls der Domainname direkt auf den Synapse-Server zeigt und die Föderation auf Port 443 läuft, kann der Matrix Server (Synapse) diese Datei auch selbst bereitstellen; dazu wird er passend von uns konfiguriert.
SRV-DNS-Record Delegation
Als Alternative zur .well-known
-Datei kann Federation-Traffic auch per SRV-DNS-Record umgeleitet werden. Dies ist aber weniger verbreitet und nicht zu empfehlen, da:
- TLS-Zertifikate schwieriger korrekt zu konfigurieren sind,
- keine Vorteile gegenüber
.well-known
-Delegation bestehen, - globale Client-Einstellungen (z.B. Standard-Jitsi-Server) trotz SRV-Records weiterhin über
.well-known
-Endpunkte verwaltet werden müssen.
Sollte bei deiner Bestellung keine .well-known
Delegation möglich sein, beispielsweise weil dein Webhoster dies nicht unterstützt, unterstützen wir dich hierbei gern.
Für die automatische Zertifikatserneuerung ist es bei der SRV-DNS-Delegation notwendig, DNS-01-Challenges zu verwenden. Deshalb ist ein DNS-Anbieter mit API-Zugang, der von ACME unterstützt wird, zwingende Voraussetzung hierfür.