我正在使用 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 stop
或sudo iptables -F
。
也许从那以后他们已经改变了行为,但尝试一下仍然很好。
SSH 隧道(通过打开的端口 22)可能允许您访问本地端口 2000
,该端口已代理。由于防火墙的原因,VM 的实际端口 2000 可能会受到限制。
试试吧,告诉我这是否有效。如果没有,我会更深入地挖掘。