fred55rus
@fred55rus

Как подключиться к вебсокету через внешний ip?

Сразу суть вопроса: как мне подключиться к своему вебсокету через внешний ip? Играет ли какую-то роль здесь apache?

У меня есть: библиотека ratchet, вебсокет, написанный на php, приёмник подключений, который слушает localhost:8080 (код: new Ratchet\App("localhost", 8080, '0.0.0.0', $loop);), js запрос на подключение к вебсокетам (код: new WebSocket("ws://2.60.34.170:8080/chat") ).

Моя проблема: Если в js указывать localhost, 127.0.0.1 или 192.168.1.63 (локальный адрес хоста) как адрес для подключения, то во всех этих случаях я соединяюсь со своим вебсокетом, но если указать мой внешний ip, то я не могу подключиться. Внешнее подключение я тестировал здесь: www.websocket.org/echo.html, 8080 порт открыт, ip указываю верный, например, на мой сервер по нему можно зайти.

Что я пробовал: слушать подключения к своему внешнему ip, подключать в apache модули mod_proxy и mod_proxy_wstunnel, в httpd.conf писал такие строки: ProxyPass /ws ws://localhost:8080/ ProxyPassReverse /ws ws://localhost:8080/ и подключался к вебсокету так: new WebSocket("ws://2.60.34.170/ws/chat"), но ничто из этого не помогло.

Окончательно меня запутало то, что возможно apache не участвует в получении запроса на подключении к вебсокету и теперь я даже не знаю кого винить в моих неудачах. Надеюсь на помощь.
  • Вопрос задан
  • 564 просмотра
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
Политика общего происхождения, не?
Ответ написан
Ваш ответ на вопрос

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

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