Всем привет!
У меня есть локальный вебсокет-сервер, написанный на Python, который
(пока что в целях разработки) мне нужно выложить в интернет, чтобы к нему можно было подключиться. Пару дней назад все работало без каких-либо проблем, а сегодня, при попытке подключиться к серверу через консоль в браузере, я стал получать ошибку
Content-Security-Policy: The page’s settings blocked the loading of a resource at ws://2.tcp.eu.ngrok.io:16620/ (“connect-src”) Не знаю, связано ли это с установкой на мой LInux Mint браузера Opera
(звучит абсурдно, но у меня после установки начались проблемы с просмотром видео во всех браузерах, вдруг и здесь проблема), но в любом случае я хочу попросить у вас и подсказок, и советов о том, как эту задачу вообще нужно решать, и где конкретно я ошибаюсь.
Вебсокет-сервер Python очень простой, принимает и отправляет сообщение в ответ, запущен локально:
async def handler(websocket, path):
async with aiohttp.ClientSession() as session:
try:
await websocket.send(json.dumps({'type': 'welcome', 'message': 'Welcome to the server!'}))
while True:
message = await websocket.recv()
data = json.loads(message)
print(f"Received message from {websocket.remote_address}: {data}")
await websocket.send(json.dumps(data))
except Exception as e:
print(f"Error: {e}")
response = {'type': 'error', 'message': str(e)}
await websocket.send(json.dumps(response))
start_server = websockets.serve(handler, "127.0.0.1", 8080)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
Ngrok запускаю через терминал командой
ngrok tcp 8080
и получаю в ответ информацию о запущенном и работающем сервере:
Forwarding tcp://2.tcp.eu.ngrok.io:16620 -> localhost:8080
Затем в консоли в браузере пытаюсь подключиться -
let ws = new WebSocket("ws://2.tcp.eu.ngrok.io:16620");
И получаю ошибку
Content-Security-Policy: The page’s settings blocked the loading of a resource at ws://2.tcp.eu.ngrok.io:16620/ (“connect-src”).
Uncaught NS_ERROR_CONTENT_BLOCKED:
Что не так и на каком этапе? И как это исправить?