选择服务器名称
面向用户的服务器名称日后可能难以更改。了解委派以及您的部署所使用的知名记录。测试客户端发现和联邦,而不是假设成功的网页登录就能证明两者。
使用受支持的技术栈
Synapse 通常使用 PostgreSQL 存储生产数据,配套服务则取决于规模和配置。请遵循当前上游建议。确保 worker、数据库和反向代理的超时设置与负载兼容。
保持加密声明准确
端到端加密可保护参与客户端之间受支持的加密房间中的内容。homeserver 仍可处理元数据和非加密内容。客户端密钥备份、验证和账户恢复需要单独说明。
维护实例
在适当情况下限制注册,保护管理和共享密钥接口,并设定有意的媒体和事件保留策略。一致地备份数据库、配置和签名密钥,然后测试恢复。
分别测试客户端和联邦路径
Element 等客户端访问主服务器的客户端 API,而其他主服务器使用联邦发现和端点。反向代理的更改可能破坏其中一个,而另一个仍正常工作。测试新账户、本地房间和授权的联邦房间,然后从客户端验证加密和恢复行为。
官方文档:当前 Synapse 安装指南
保留持久身份材料
数据库并非整个 homeserver 身份。使用一致的备份保留签名密钥以及相关配置和机密。检查保留哪些外部媒体和历史记录,并设置适合你社区的策略。在增长变成故障之前监控存储和工作队列。
将账户名称与托管端点分开
在创建账户之前确定 Matrix 的 server_name:它将成为用户和房间标识符的一部分。在正确配置发现/委派的情况下,提供 Synapse 服务的 Web 主机名可以不同。规划客户端发现和服务器到服务器发现、有效证书以及实际可达的地址族。Element 是客户端,不能替代 homeserver。在 homeserver 之外保留独立的管理员路径和恢复联系人。
- 选择受支持的 Synapse 版本和适合生产环境的 PostgreSQL 部署。
- 保持数据库和管理监听器私有。
- 明确界定注册和联邦策略。
官方文档:Synapse 安装 · Matrix 委托
将发现和代理作为服务的一部分构建
为所选版本生成配置,持久化签名密钥和数据库,并按官方 Synapse 指南配置代理。对外可见的源、转发头和请求路径必须一致。若使用委派,请从身份域提供所需的 well-known 文档。不要通过暴露原始内部 API 端口来解决代理错误。将注册密钥排除在浏览器客户端配置之外。
官方文档:Synapse 反向代理
测试客户端会话和联合会话
创建测试账户,连接受支持的客户端,发送本地消息并上传一个小文件。独立于联邦发现验证客户端发现,然后如果打算启用联邦,与另一个获准的服务器测试房间。在加密房间中,演练验证和客户端的密钥恢复流程。主服务器备份不会自动恢复每个客户端持有的解密密钥。说明服务器保留哪些元数据以及哪些房间已加密。
# Discovery checks use your identity domain and HTTPS:
curl --fail https://example.com/.well-known/matrix/client
curl --fail https://example.com/.well-known/matrix/server利用错误位置缩小修复范围
如果 Element 无法发现服务器,请检查客户端的 well-known 响应和 TLS 源。如果本地消息传递正常但联邦失败,请检查联邦委派、可访问地址、证书和策略。反复出现的媒体故障可能涉及上传限制或存储。一致地保留数据库、媒体、配置和签名密钥;先在未启用联邦的情况下测试恢复,以免演练产生生产身份的竞争副本。