WebSockets - 服务器不满足 wss 请求的问题。有啥问题?
Posted
技术标签:
【中文标题】WebSockets - 服务器不满足 wss 请求的问题。有啥问题?【英文标题】: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 应用程序,我需要从客户端与之通信。
【问题讨论】:
【参考方案1】:Forever 插件没有工作,服务器没有运行。它现在可以工作了。
【讨论】:
以上是关于WebSockets - 服务器不满足 wss 请求的问题。有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章
engine.io 是不是支持安全的 WebSockets wss?
用于 SSL PHP 站点和 Websockets WSS 的 Nginx 配置?
iis8 上 WSS 上的 Ratchet Websockets
Beyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws
如何在 Play!Framework WebSockets ("wss://") 中使用 TLS
是否可以使用带有所需端口的 http 方案,比如 6500,而不是 WebSockets 中的 ws 和 wss 方案?