Как можно настроить и запустить федерацию в Matrix-synapse?

Почему сервер выдаёт ошибку MatchingServerName за исключением федерации?
Изображение к вопросу
  • 30 января 2024 г. 13:58
Ответы на вопрос 2
Федерация в Matrix (Synapse) позволяет серверам обмениваться данными о комнатах, пользователях и сообщениях. Для настройки и запуска федерации вам нужно правильно сконфигурировать ваш сервер Synapse и обеспечить его доступность с других серверов в федерации. Для этого необходимо выполнить следующие шаги:

1. Установите Synapse.
Это можно сделать с помощью пакетных менеджеров или через `pip`, если вы используете Python. Инструкции можно найти в официальной документации Synapse.

2. Настройте ваш `homeserver.yaml`.
Найдите файл конфигурации `homeserver.yaml` и убедитесь, что вы установили правильные значения для вашего доменного имени в параметрах `server_name` и `public_baseurl`. При настройке федерации эти параметры крайне важны:

```yaml
server_name: "mydomain.com"
public_baseurl: https://mydomain.com
```

3. Настройте SSL/TLS.
Федерация требует, чтобы ваш сервер использовал защищенные соединения (HTTPS). Поэтому вам нужно настроить SSL/TLS сертификат для вашего доменного имени. Вы можете использовать Let's Encrypt для получения бесплатных сертификатов.

4. Проксирование через обратный прокси-сервер.
Если вы используете обратный прокси (например, Nginx или Apache), настройте его так, чтобы он проксировал запросы к вашему серверу Synapse. Обычно, Synapse слушает порт 8008 для HTTP и 8448 для HTTPS (федерации), но вы можете использовать стандартный HTTPS порт 443 на обратном прокси.

5. Настройте DNS.
Добавьте в DNS записи SRV и A/AAAA для вашего домена. Запись SRV сообщает другим серверам Matrix, как с вами связаться:

```txt
_matrix._tcp.mydomain.com. 3600 IN SRV 10 5 8448 matrix.mydomain.com.
```

Это указывает на то, что сервер федерации доступен на порту 8448 для домена `matrix.mydomain.com`.

6. Перезапустите Synapse.
После настройки конфигурационного файла и DNS-записей, перезапустите Synapse, чтобы изменения вступили в силу:

```shell
systemctl restart matrix-synapse
```

Если после настройки вы столкнулись с ошибкой `MatchingServerName`, это может означать, что имена серверов или сертификаты, используемые для общения между вашим сервером и федерацией, не соответствуют ожидаемым значениям. Обычно эта проблема связана с сертификатом SSL/TLS:

- Убедитесь, что доменное имя в сертификате соответствует значению параметра `server_name` в `homeserver.yaml`.
- Проверьте, что сертификат действителен и не просрочен.
- Убедитесь, что сетевой трафик на порту, указанном в DNS SRV (обычно 8448), может быть направлен и обработан вашим сервером Synapse.

Если вы проделали все шаги правильно, ваш сервер Synapse должен быть доступен для федерации с другими серверами Matrix. Для проверки доступности и правильности конфигурации федерации вы можете использовать инструменты, такие как https://federationtester.matrix.org/.
# This is set in /etc/matrix-synapse/conf.d/server_name.yaml for Debian installations. 
# server_name: "SERVERNAME"

а вот это вы прочитали и поправили?
Похожие вопросы