【问题标题】:Running Cboden Ratchet Websocket on the server在服务器上运行 Cboden Ratchet Websocket
【发布时间】:2018-08-01 14:45:07
【问题描述】:

我在本地机器上创建了一个聊天服务并成功运行它。 该聊天服务使用 cboden retchat 库和前端的自定义 JS。

所以我在 CENTOS 服务器上上传了所有内容并尝试运行聊天。 我收到连接被拒绝错误。但是我检查了服务器防火墙,打开了端口(我将端口从 8080 更改为 60000)。 我试图在这个目标上运行服务器:

0.0.0.0:60000

并像这样从客户端连接

SERVERIP:60000

DOMAIN:60000

尝试将服务器也作为 ROOT 运行,但我得到了同样的错误。

是客户端防火墙问题吗?我该如何解决?我找到了一个JS包,通过80端口连接聊天服务器,没有防火墙问题。我不能使用这个包,因为在我们的服务器上我们运行了一百个服务。所以我决定使用60000端口。

我检查了端口-它是免费的并且没有被阻塞。

我的 .env 文件

CHAT_PROTOCOL=wss://
CHAT_ADDRESS=0.0.0.0
CHAT_PORT=60000

客户端JS

 var conn = new WebSocket(chat.protocol + SERVERIP +':'+ chat.port +'/chat');
//chat.protocol is wss://
//chat.port is 60000

问题来了

到“wss://SERVERIP:60000/chat”的 WebSocket 连接失败:错误 连接建立:net::ERR_CONNECTION_REFUSED

再次,它在我的本地机器 (ubuntu) 上非常完美

【问题讨论】:

    标签: laravel websocket centos firewall ratchet


    【解决方案1】:

    我在 5 个月后找到了解决方案。

    我的域使用 SSL 连接,因此我应该通过声明服务器变量来包含 CRT 和 KEY 文件。

    const server = 
         require('https').createServer({
            key: fs.readFileSync('./ssl/keys/************************.key'),
            cert: fs.readFileSync('./ssl/certs/************************.crt'),
            ca: fs.readFileSync('./ssl/certs/************************.crt'),
            requestCert: false,
            rejectUnauthorized: false
        },express);
    

    【讨论】:

    • 指定您使用的 JS 包会很有用,以便其他人可以实现您的解决方案。
    • @jgarcias 除了 Nodejs+ExpressJS 什么都没有
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2012-08-17
    相关资源
    最近更新 更多