我終於設定了我自己的突觸實例。我可以在自己的實例中與我的大學聊天。他透過 WAN(產品轉送)連接到我的伺服器,而我透過 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 來檢查這一點。
這個網站幫我檢查一下,缺什麼。