@cartiolopy

Почему не доступно подключение к WebSocket через Ngrok?

Столкнулся с проблемой, при попытке подключения к WebSocket запушенном на локальной машине через Python 3.10, всё получается, однако когда я пытаюсь сделать данный сокет публичным при помощи Ngrok, у меня ничего не получается.
В терминале ngrok.exe я пишу ngrok http 3000, и все запускается как положено, я получаю ссылку в формате
https://7e71-188-138-209-95.eu.ngrok.io (на момент написания она ещё актуальна, попробуйте), после чего я запускаю свой скрипт на Python.
async def new_client_conneceted(client_socket: websockets.WebSocketClientProtocol, path:str):
  print("New Client ")
  all_clients.append(client_socket)
  while True:
    new_message = await  client_socket.recv()
    print(new_message)

async def start_server():
  print("server started")
  await websockets.serve(new_client_conneceted, 'localhost', 3000)

if __name__ == "__main__":
  event_loop = asyncio.get_event_loop()
  event_loop.run_until_complete(start_server())
  event_loop.run_forever()


Попытка подключения к
ws://localhost:3000
через
simple websocket client
, и всё гуд. Однако мои попытки подключненния к
ws://7e71-188-138-209-95.eu.ngrok.io
или
wss://7e71-188-138-209-95.eu.ngrok.io
, и ничего не работает, при этом скрипт вебсокета работает без упрёков.
В чем может быть дело?
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WitER
SSL сертификат должен быть на стороне ngrok, т.к. подключение по wss идёт непосредственно к нему, а далее он проксирует соединение на ваш скрипт. Ngrok не перенаправляет запрос, а именно проксирует.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы