Я наконец-то установил свой собственный экземпляр 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
Я исправил две вещи:
- Я перенаправил localhost:8008 как порт 8448 публичный с TLS
- У меня был
cert.pem
как SSLCertificateFile, но нужно использоватьfullchain.pem
для SSL. Вы также можете проверить это с помощью curl.
Этот сайтпомог мне проверить, чего не хватает.