使用流浪环境时无法连接 Websocket


Can't connect Websocket when using vagrant envirionment

我正在使用 puphpet Vagrant盒子,环境是 PHP 5.5 + ubuntu 12.04 + apache + mysql。我的流浪者虚拟机ip:192.168.11.11,本地计算机主机指向192.168.11.11 reactphp.dev,并且可以工作。

而且,我正在使用以下代码:https://github.com/muuknl/phprealtimechat 来测试websocket。

然后我在Chrome浏览器中访问reactphp.dev,并使用以下命令启动服务器脚本: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 地址,为什么它不起作用?

我已经

有一段时间没有使用 PuPHPet了,但是当我在通过端口(减去端口 22)连接时遇到问题时,我不得不在流浪机器中发出命令sudo ufw disable

如果 uwf 不是 VM 的管理防火墙,请尝试sudo service iptables stopsudo iptables -F

也许从那以后他们已经改变了行为,但尝试一下仍然很好。

SSH 隧道(通过打开的端口 22)可能允许您访问本地端口 2000 ,该端口已代理。由于防火墙的原因,VM 的实际端口 2000 可能会受到限制。

试试吧,告诉我这是否有效。如果没有,我会更深入地挖掘。