使用Stunnel连接wss到wsServer

Use Stunnel to connect wss to wsServer

我正在尝试使用 stunnel 将 wss 连接转换为 ws 连接,因为 wsServer 不支持 wss。服务器是 运行 Ubuntu,我使用的客户端是 Chrome,如果重要的话。

这是我的 stunnel.conf 文件

foreground = yes
debug = info
output = /var/log/stunnel.log

[wsServer]
cert = /etc/letsencrypt/live/myurl.com/fullchain.pem
key = /etc/letsencrypt/live/myurl.com/privkey.pem
accept = 0.0.0.0:8443
connect = 127.0.0.1:8080

我正在尝试通过 javascript 呼叫连接到它:

const socket = new WebSocket('wss://myurl.com:8433');

但我一直收到连接错误:

(index):13 WebSocket connection to 'wss://myurl.com:8433/' failed: (anonymous) @ (index):13

这是我检查过的内容:

关于我还可以尝试什么的任何想法?适用于 https 的证书不适用于 wss 有什么原因吗?

人们是否推荐通过 apache 使用 ProxyPass 并完全避免使用 stunnel?

不是解决方案,而是下一个故障排除步骤。获取自己的 openssl 并尝试连接到 8443。这应该吐回证书信息并且至少确认 stunnel 正在出示证书。

openssl s_client -connect myurl.com:8443

我配置 stunnel 已经有一段时间了,但是 IIRC 你不能在你的密钥上设置密码。