WebSocket 连接在本地计算机中有效,但在服务器中无效

问题描述 投票:0回答:2

我正在使用 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,我已经检查了该端口是否正在使用,并确保启用了套接字支持。但无论我做什么,都会出现相同的错误消息。

php laravel nginx websocket centos
2个回答
0
投票

当我使用端口 443 时,它就工作了。


0
投票

很高兴你已经解决了:)

问题可能是您服务器上的防火墙。端口 22、80 和 443 默认情况下常开,但其他端口常闭,除非您明确打开它们。

在 Debian/Ubuntu/Mint-flavor Linux 上,您可以通过以下方式打开端口 7778:

sudo ufw allow 7778

并通过以下方式检查:

sudo ufw status

© www.soinside.com 2019 - 2024. All rights reserved.