Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't connect Websocket when using vagrant envirionment

I'm using Vagrant box using puphpet, the environment is PHP 5.5 + ubuntu 12.04 + apache + mysql. My Vagrant VM ip: 192.168.11.11, local machine hosts points to 192.168.11.11 reactphp.dev, and it works.

And, I'm using this code: https://github.com/muuknl/phprealtimechat to test websocket.

Then I visit reactphp.dev in my Chrome browser, and I start server script using: php bin/server.php, and after I type in the username I just got the error:

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

It works well when I changed the websocket ip to `ws://127.0.0.1:2000/', but why it does not work if I change to my VM's ip address?

like image 244
Phoenix Avatar asked Mar 17 '15 04:03

Phoenix


1 Answers

It's been a while I haven't used PuPHPet, but when I had troubles connecting through the port (minus port 22), I've had to issue the command sudo ufw disable in the vagrant machine.

If uwf isn't the managing firewall of your vm, try sudo service iptables stop, or sudo iptables -F.

Perhaps they've changed the behavior since then, but it's still good to try.

The SSH tunnel (over the opened port 22) might allow you to access the local port 2000, which is proxified over. The actual port 2000 of the VM might be limited due to firewall.

Try it, and tell me if this works. If not, I'll dig in deeper.

like image 170
Felix Lebel Avatar answered Sep 28 '22 02:09

Felix Lebel