我正在使用 Laravel 框架和 BrainSocket 通过以下命令行在端口中打开 websocket 服务:
php artisan brainsocket:start --port=7778
然后,我连接到客户端的 websocket,如下所示:
var websocket = new WebSocket('ws://127.0.0.1:7778/');
起初,我在本地计算机上开发这个应用程序,一切正常。但是,在生产服务器(CentOS 7 + Nginx)上,当我运行上面的行时,会出现以下错误消息:
与“ws://127.0.0.1:7778/”的 WebSocket 连接失败:连接 在收到握手响应之前关闭
我尝试更改服务器 IP 地址的 IP,我已经检查了该端口是否正在使用,并确保启用了套接字支持。但无论我做什么,都会出现相同的错误消息。
当我使用端口 443 时,它就工作了。
很高兴你已经解决了:)
问题可能是您服务器上的防火墙。端口 22、80 和 443 默认情况下常开,但其他端口常闭,除非您明确打开它们。
在 Debian/Ubuntu/Mint-flavor Linux 上,您可以通过以下方式打开端口 7778:
sudo ufw allow 7778
并通过以下方式检查:
sudo ufw status