【问题标题】:WebSockets - Problems with server not fulfilling wss request. What could be wrong?WebSockets - 服务器不满足 wss 请求的问题。有什么问题?
【发布时间】:2021-04-07 18:22:24
【问题描述】:

我有一个用 node.js 编写的应用程序,它可以通过正常的 ws 运行。我试图让它与 wss 一起工作,但它只是没有发生。我需要 wss,因为 chrome 不允许我在不安全的连接上使用相机/麦克风。

我获得了证书,HTTPS 正在运行。

我还将它包含在我的 node.js 服务器应用程序中:

// Minimal amount of secure websocket server
var fs = require('fs');

// read ssl certificate
var privateKey = fs.readFileSync('ssl-cert/privkey.pem', 'utf8');
var certificate = fs.readFileSync('ssl-cert/fullchain.pem', 'utf8');

var credentials = { key: privateKey, cert: certificate };
var https = require('https');

//pass in your credentials to create an https server
var httpsServer = https.createServer(credentials);
httpsServer.listen(9090);

var WebSocketServer = require('ws').Server; 

我还编辑了 nginx.conf:

tcp {
    upstream websockets {
        ## webbit websocket server in background
        server 89.221.222.68:9090;

        check interval=3000 rise=2 fall=5 timeout=1000;
    }   

    server {
        server_name _;
        listen 9090;

        ssl on;
        proxy_ssl_certificate     /ssl-cert/fullchain.pem;
        proxy_ssl_certificate_key /ssl-cert/privkey.pem;

        timeout 43200000;
        websocket_connect_timeout 43200000;
        proxy_connect_timeout 43200000;

        so_keepalive on;
        tcp_nodelay on;

        websocket_pass websockets;
        websocket_buffer 1k;
    }
}

我也尝试在 apache2 配置中设置 ProxyPass,但似乎没有任何效果。

我不知道问题出在哪里,我有限的 linux 经验对我没有帮助。

所以我的问题: 如何从头开始设置 wss?我在 server.com/9090 上运行 node.js 应用程序,我需要从客户端与之通信。

【问题讨论】:

    标签: node.js nginx websocket


    【解决方案1】:

    Forever 插件没有工作,服务器没有运行。它现在可以工作了。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多