按照Gatewayworker ssl证书配置的代码设置的使用阿里云申请的免费证书,并且也将域名解析到了该服务器,但是前端还是连接不到wss,如下图所示,端口也开放了。 是我少些了哪些配置吗
上网找了一下其他人的配置,前端还是连不上,debug模式下有如上图的提示。
SSL handshake error: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
客户端代码呢?
var ws = new WebSocket("wss://123.57.156.229:8282"); //建立WebSocket连接 ws.onopen = function (evt) { var obj = '{"type":"ping"}' setInterval(()=>{ ws.send(obj) },50000) // layer.msg('服务器连接成功,可同步取消线上任务~',{shade:0.1,icon:1,time:1000}); }; 这是客户端的代码,就是简单的new WebSocket
奇怪了,安卓客户端他们可以连上我的服务端,但是网页端连不上
访问的域名和证书不匹配。 比如证书是abc.com的,但是客户端用的是 bcd.com去连接。 连接的时候不能用ip,手册有强调。
abc.com
bcd.com
我的网页网址是https://helper.608631.com,websocket配置的地址是socket.608631.com,我是否应该在网页使用new WebSocket("wss://socket.608631.com"),然后在服务器端设置nginx代理或者Apache代理,将域名再代理到127.0.0.1:8282这个端口上啊
nginx代理wss和gatewayWorker设置wss两种方案只能选一种。 如果你gatewayWorker设置了wss并且证书对应的域名是helper.608631.com,端口是442,客户端直接连 wss://helper.608631.com:442 就行了。就不用连nginx或者apache代理了。
反过来如果要用nginx代理的话,gatewayWorker 不能设置wss。
是不是我的gatewaywork根目录放的不对,应该把整个gatewayworker的根目录放到thinkphp的public目录下啊
问题解决了吗? 我也遇到了相同的问题。是按照文档上的第二种方法来做的,使用 nginx 代理,修改 nginx 下的 conf 文件后,使用 wss 访问报错,使用 ws 是没问题的。
解决了吗
nginx 代理代理多好
上网找了一下其他人的配置,前端还是连不上,debug模式下有如上图的提示。
SSL handshake error: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
客户端代码呢?
var ws = new WebSocket("wss://123.57.156.229:8282"); //建立WebSocket连接
ws.onopen = function (evt) {
var obj = '{"type":"ping"}'
setInterval(()=>{
ws.send(obj)
},50000)
// layer.msg('服务器连接成功,可同步取消线上任务~',{shade:0.1,icon:1,time:1000});
};
这是客户端的代码,就是简单的new WebSocket
奇怪了,安卓客户端他们可以连上我的服务端,但是网页端连不上
访问的域名和证书不匹配。
比如证书是
abc.com
的,但是客户端用的是bcd.com
去连接。连接的时候不能用ip,手册有强调。
我的网页网址是https://helper.608631.com,websocket配置的地址是socket.608631.com,我是否应该在网页使用new WebSocket("wss://socket.608631.com"),然后在服务器端设置nginx代理或者Apache代理,将域名再代理到127.0.0.1:8282这个端口上啊
nginx代理wss和gatewayWorker设置wss两种方案只能选一种。
如果你gatewayWorker设置了wss并且证书对应的域名是helper.608631.com,端口是442,客户端直接连 wss://helper.608631.com:442 就行了。就不用连nginx或者apache代理了。
反过来如果要用nginx代理的话,gatewayWorker 不能设置wss。
是不是我的gatewaywork根目录放的不对,应该把整个gatewayworker的根目录放到thinkphp的public目录下啊
问题解决了吗?
我也遇到了相同的问题。是按照文档上的第二种方法来做的,使用 nginx 代理,修改 nginx 下的 conf 文件后,使用 wss 访问报错,使用 ws 是没问题的。
解决了吗
nginx 代理代理多好