2015-03-17 2 views
6

Я использую поле Vagrant с использованием puphpet, среда PHP 5.5 + ubuntu 12.04 + apache + mysql. Мой Vagrant VM ip: 192.168.11.11, локальные хосты компьютеров указывают на 192.168.11.11 reactphp.dev, и он работает.Не удается подключиться к Websocket при использовании vagrant envirionment

И, я использую этот код: https://github.com/muuknl/phprealtimechat для проверки websocket.

Тогда я посещаю reactphp.dev в моем браузере Chrome, и я начинаю сценарий сервера с помощью: php bin/server.php, и после того, как я ввожу имя пользователя Я только что получил сообщение об ошибке:

WebSocket connection to 'ws://192.168.11.11:2000/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

Это хорошо работает, когда я изменил websocket ip для `ws: //127.0.0.1: 2000/', но почему он не работает, если я перехожу на IP-адрес виртуальной машины?

+0

Имея ту же проблему, и это сводит меня с ума. У нас есть Angular/Mongo builld, который используется в websockets для обновления в реальном времени. Мы опубликуем все, что найдем на этой неделе. – Coldstar

+0

Такая же странная ситуация. Любое обновление от вас, ребята? –

+0

Ребята, кто-нибудь нашел решение? Я пытаюсь решить эту проблему здесь с помощью Vagrant Box. –

ответ

1

Прошло некоторое время, когда я не использовал PuPHPet, но когда у меня были проблемы с подключением через порт (минус порт 22), мне пришлось выдать команду sudo ufw disable в машине бродяг.

Если uwf не является управляющим файерволом вашего vm, попробуйте sudo service iptables stop, или sudo iptables -F.

Возможно, с тех пор они изменили свое поведение, но все же полезно попробовать.

SSH-туннель (через открытый порт 22) может позволить вам получить доступ к локальному порту 2000, который проксимизирован. Фактический порт 2000 VM может быть ограничен из-за брандмауэра.

Попробуйте, и скажите, если это сработает. Если нет, я буду копать глубже.