我终于设置了自己的 synapse 实例。我可以在自己的实例中与同事聊天。他通过 WAN(prodforwarding)连接到我的服务器,而我通过 LAN 进行写作。
但是我们无法连接到其他服务器(我尝试过,matrix.org、mozilla.org 和 librem.one)。当我尝试从其他实例邀请某人时,我会收到此日志:
2021-01-08 - synapse.http.matrixfederationclient - 505 - INFO - POST-2857 - {GET-O-41} [librem.one] Got response headers: 401 Unauthorized
2021-01-08 - synapse.http.matrixfederationclient - 583 - WARNING - POST-2857 - {GET-O-41} [librem.one] Request failed: GET matrix://librem.one/_matrix/federation/v1/query/profile?user_id=******librem.one&field=displayname: HttpResponseException('401: Unauthorized')
2021-01-08 - synapse.handlers.message - 511 - INFO - POST-2857 - Failed to get profile information for @******:librem.one: 401: Failed to find any key to satisfy VerifyJsonRequest(server=example.com, key_ids=['ed25519:***'], min_valid=161013554******)
2021-01-08 - synapse.http.matrixfederationclient - 505 - INFO - POST-2857 - {PUT-O-42} [librem.one] Got response headers: 401 Unauthorized
2021-01-08 - synapse.http.matrixfederationclient - 583 - WARNING - POST-2857 - {PUT-O-42} [librem.one] Request failed: PUT matrix://librem.one/_matrix/federation/v2/invite/******: HttpResponseException('401: Unauthorized')
2021-01-08 - synapse.http.server - 83 - ERROR - POST-2857 - Failed handle request via 'RoomCreateRestServlet': <XForwardedForRequest at 0x************ method='POST' uri='/_matrix/client/r0/createRoom' clientproto='HTTP/1.0' site=8008>
Traceback (most recent call last):
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/http/server.py", line 224, in _async_render_wrapper
callback_return = await self._async_render(request)
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/http/server.py", line 400, in _async_render
callback_return = await raw_callback_return
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/rest/client/v1/room.py", line 83, in on_POST
requester, self.get_room_config(request)
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/room.py", line 795, in create_room
content=content,
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/room_member.py", line 578, in update_membership_locked
require_consent=require_consent,
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/room_member.py", line 219, in _local_membership_update
requester, event, context, extra_users=[target], ratelimit=ratelimit,
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/util/metrics.py", line 92, in measured_func
r = await func(self, *args, **kwargs)
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/message.py", line 971, in handle_new_client_event
requester, event, context, ratelimit=ratelimit, extra_users=extra_users
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/message.py", line 1121, in persist_and_notify_client_event
invitee.domain, event
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/handlers/federation.py", line 1298, in send_invite
pdu=event,
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/federation/federation_client.py", line 745, in send_invite
content = await self._do_send_invite(destination, pdu, room_version)
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/federation/federation_client.py", line 779, in _do_send_invite
"invite_room_state": pdu.unsigned.get("invite_room_state", []),
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/federation/transport/client.py", line 311, in send_invite_v2
destination=destination, path=path, data=content, ignore_backoff=True
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/http/matrixfederationclient.py", line 716, in put_json
timeout=timeout,
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/http/matrixfederationclient.py", line 293, in _send_request_with_optional_trailing_slash
response = await self._send_request(request, **send_request_args)
File "/opt/synapse/env/lib/python3.7/site-packages/synapse/http/matrixfederationclient.py", line 538, in _send_request
raise exc
synapse.api.errors.HttpResponseException: 401: Unauthorized
每当我尝试连接到 Element 中的远程房间时,我都会收到这样的消息:
Failed to find any key to satisfy VerifyJsonRequest(server=example.com, key_ids=['ed25519:XXXXXX'], min_valid=1610140******)
答案1
我修复了两件事:
- 我使用 TLS 将 localhost:8008 转发为端口 8448 公开
- 我有一个
cert.pem
SSLCertificateFile,但应该使用fullchain.pem
SSL。您也可以使用 curl 检查这一点。
本网站帮我检查一下,缺少了什么。