客户端和服务器不支持常用的ssl,WebSocket服务器不支持SSL

作者在尝试将WebSocket服务器从非加密的ws连接升级到加密的wss连接时遇到了问题。他们已经为同一顶级域名生成了自签名证书,但当使用HTTPS服务器创建WebSocket服务器时,连接无法建立。尽管在浏览器中为证书添加了例外,问题仍然存在。可能的原因包括服务器配置错误、证书不被接受或防火墙阻止了连接。
摘要由CSDN通过智能技术生成

我有一个使用websockets的工作聊天应用程序。我想更进一步,并在我的连接上启用加密,但是当我使用https连接http服务器时,我的连接开始失败。WebSocket服务器不支持SSL

我已经生成了我在我所有网站上使用的自签名证书(在同一顶级域名下,这意味着它是通配证书)。我可以确认它是一个有效的证书,所以问题不应该在那里。

这是什么工作(未加密)

var webSocketServer = require('websocket').server;

var http = require('http');

var server = http.createServer(function() {});

server.listen(webSocketsServerPort, function() {

log("system", "Server is listening on port " + webSocketsServerPort);

});

var wsServer = new webSocketServer({

httpServer: server

});

使用这个我现在可以连接到ws://my.domain:port。

这是什么呢不工作

var webSocketServer = require('websocket').server;

var http = require('https');

var fs = require('fs');

var server = http.createServer({

key: fs.readFileSync("path/to/host.key"),

cert: fs.readFileSync("path/to/host.pem")

});

server.listen(webSocketsServerPort, function() {

log("system", "Server is listening on port " + webSocketsServerPort);

});

var wsServer = new webSocketServer({

httpServer: server

});

有了这个代码在服务器启动,以及,我看到日志消息“服务器正在监听。”但是当我尝试在wss://my.domain:port连接连接无法建立。

我在浏览器中为证书添加了一个异常,因为我的客户端页面和websocket服务器地址在同一个tld和子域下。

可能是什么问题?

+0

防火墙问题? –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值