Другие пользователи не могут подключиться к серверу через websocket
У меня есть сервер на AWS EC2 с открытым портом 8001 с приложением websocket. Само приложение написано на Django Channels и использует сервер daphne.
Проблема в том, что я сам могу подключиться к серверу websocket, но у других пользователей такой возможности почему-то нет
Скрипт, который я использую для подключения
const socket = new WebSocket("ws://54.145.126.99:8001/ws/chat/first_user=19628&second_user=19629", ["Bearer", token]);
socket.onopen = function () {
console.log("✅ connected to WebSocket server");
};
локальные приложения используют http://127.0.0.1:5173/, приложения, использующие frontend dev, также используют http://localhost:5173/ и работают на React.
Я не знаю, какую дополнительную информацию мне нужно предоставить, чтобы вы могли понять проблему, потому что я понятия не имею, где может быть эта ошибка...
если вы запускаете Daphne следующим образом:
daphne -b 127.0.0.1 -p 8001 myproject.asgi:application
Он будет привязан только к локальному хосту. Измените его на:
daphne -b 0.0.0.0 -p 8001 myproject.asgi:application
или
daphne myproject.asgi:application -p 8001
это делает его доступным для внешних пользователей.
также убедитесь, что ваш settings.py
поддерживает внешние подключения:
ALLOWED_HOSTS = ["54.145.126.99", "yourdomain.com", "localhost"]