我正在尝试连接到在我的网络服务器上运行的WebSocket服务器(PHP / Wrench)。
服务器的配置如下所示:
$server = new \Wrench\Server("wss://localhost:8443");
$server->registerApplication('app',
new \Wrench\Application\EchoApplication());
$server->run();
我正在使用端口8443,因为我无法使用80或443(权限被拒绝)。该域使用HTTPS,因此我必须使用wss:
协议。
当我在本地计算机上运行脚本时,连接到PHP服务器没有问题(我只需要用wss:
替换ws:
)。
当我在远程网络服务器上通过SSH运行服务器时,它似乎运行正常,但尝试通过JS通过以下调用连接到它不起作用:
var ws = new WebSocket("wss://dev.mydomain.net:8443/app");
我收到了“Error in connection establishment: net::ERR_CONNECTION_REFUSED
。”
在我的网络服务器面板控件上,8443端口(TCP)已打开(进出)。当PHP服务器运行时,命令netstat -a | grep 8443
给出以下输出,我认为应该确认它是打开的:
tcp 0 0 localhost:8443 *:* LISTEN
我在这里缺少一个明显的细节吗?
答案 0 :(得分:0)
我终于找到了一个解决方案:我不必将服务器的URI设置为localhost
,而是使用0.0.0.0
。现在它在我使用HTTP时非常有效(使用HTTPS时还有另一个问题,但至少我现在有更多信息)。