网站已配https,使用workerman 消息推送功能配置不成功

datanwang

下载的这个 http://www.workerman.net/web-sender
本地配置是成功的,然后上线(线上环境是linux,域名有配置https,服务器是腾讯云),
根据页面上的说明配置的,使用 https://域名:2123https://域名:2121 ,启动之后报错 : http://doc3.workerman.net/faq/workerman-start-fail.html 现象2,
把域名换成 0.0.0.0 后,启动成功,但是 前端 的 https://域名:2120https://0.0.0.0:2120 获取数据失败,报404
如果不加https的话,浏览器又禁止加载非https的链接
请问要如何配置?

7728 2 0
2个回答

walkor 打赏

服务端监听0.0.0.0是对的,代表监听本机所有网卡。但是客户端连接的时候不能用https://0.0.0.0:xx的方式连接,因为客户端去连0.0.0.0是无效的ip。

不过从你提供的信息无法定位是哪里问题。
web-msg-sender是基于phpsocket.io做的,phpsocket.io并不会返回404,404更像是apache/nginx或者是其它webserver返回的。浏览器按f12 network里看下http header确认下是谁返回的吧,看起来你连的根本不是phpsocket.io。而且端口一会儿是2123,一会儿是2121,一会儿又是2120

  • 暂无评论
datanwang

https://我的域名(或服务器IP或0.0.0.0):2120/socket.io/?EIO=3&transport=polling&t=1503041443779-16
一秒一个这个请求,chrome 浏览器 network查看 的,状态是 false
下图是我本地的地址,没有开启服务,上线之后的问题就是跟下面的截图上显示的结果一样
上线后,配置
$inner_http_worker = new Worker('http://0.0.0.0:2121');
$web = new WebServer('http://0.0.0.0:2123');
推送返回OK,但是接收页面
《《
// 连接服务端,workerman.net:2120换成实际部署web-msg-sender服务的域名或者ip
var socket = io('http://workerman.net:2120');
》》
域名换成我自己的https域名(或服务器IP或0.0.0.0),结果一样,如下图

[attach]736[/attach]

[attach]735[/attach]

  • 暂无评论
年代过于久远,无法发表回答
×
🔝