首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
websocket开启ssl后,客户端无法建立连接
项目为了使用swoole的ssl连接,今天对swoole进行了重新编译: 首先重新编译的时候开启了--enable-openssl。 然后在websocket服务启动前,配置了ssl_cert_file、ssl_key_file。采用下面的代码启动服务: {{{ $setConfig = [ 'ssl_key_file' => '/usr/local/nginx/conf/server.key', 'ssl_cert_file' => '/usr/local/nginx/conf/server.crt' ]; $ws = new swoole_websocket_server("0.0.0.0", 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP | SWOOLE_SSL); $ws->set($setConfig); }}} 使用浏览器进行(wss://)连接的时候会提示连接超时,提示如下: {{{ “WebSocket connection to 'wss://www.xx.cn:9501' failed: WebSocket opening handshake timed out”. }}} 若换回之前的(ws://)连接就正常,是否还有哪里配置没有到位的?
发布于8年前 · 7 次浏览 · 来自
提问
冯
冯张龙
项目为了使用swoole的ssl连接,今天对swoole进行了重新编译: 首先重新编译的时候开启了--enable-openssl。 然后在websocket服务启动前,配置了ssl_cert_file、ssl_key_file。采用下面的代码启动服务: {{{ $setConfig = [ 'ssl_key_file' => '/usr/local/nginx/conf/server.key', 'ssl_cert_file' => '/usr/local/nginx/conf/server.crt' ]; $ws = new swoole_websocket_server("0.0.0.0", 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP | SWOOLE_SSL); $ws->set($setConfig); }}} 使用浏览器进行(wss://)连接的时候会提示连接超时,提示如下: {{{ “WebSocket connection to 'wss://www.xx.cn:9501' failed: WebSocket opening handshake timed out”. }}} 若换回之前的(ws://)连接就正常,是否还有哪里配置没有到位的?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2018-09-13
!
!
上述问题已经解决,自己来回复吧,怀疑是自己生成的证书,无法使用导致的(不知道swoole是怎么认证https证书的?必须受信任的CA机构颁发的证书吗?),后来在阿里云申请了免费https证书后,客户端就可以使用wss方式进行socket连接了。 下面说说使用ssl的方式进行连接,服务器需要做的设置: 1. 开启swoole服务的时候,需要多设置两个参数 - ssl_cert_file 证书文件所在的路径 - ssl_key_file 密钥所在的服务器路径 2. new websocket的时候,注意使用
赞
0
回复
2018-09-15
不
不好笑
我也遇到了同样的问题了,请问一下你的这里的客户端连接的应该是服务器的ip加上端口号吧,websocket这里怎么配置域名尼,证书怎么配置尼?难道要nginx代理一层?求教详细做法
赞
0
回复
2019-05-24
新
新用户(手机注册)
什么意思,不受信任,我的网站nginx的80端口是可以安全连接的,然后配置到websocket的时候,就一直报跟你一样的错误,请问怎么处理的
赞
0
回复