知识付费现在文档中说明不能使用https,原因是需要配置wss;
第一步:nginx配置wss
nginx配置参考
1、已经安装nginx,版本不低于1.3
2、知识付费Workerman监听的是20014端口(websocket协议)
nginx配置类似如下:
server {
location /wss/ {
proxy_pass http://127.0.0.1:20014;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
# location / {} 站点的其它配置...
}
第二步:修改websocket服务
配置完成后需要修改知识付费中根目录public/wap/first/zsff/js/WebSocket.js文件,用来区别https和http访问
if (document.location.protocol == "https:"){
that.ws = new WebSocket("wss://" + document.domain + "/wss/"+ ":" + port+'?uid='+window.uid+'&room='+window.room);
}else {
that.ws = new WebSocket("ws://" + document.domain + ":" + port+'?uid='+window.uid+'&room='+window.room);
}
第三步:在宝塔中给知识付费站点配置证书,知识付费后台基础配置下的网站网站链接改成https;并且网站所有访问链接均改成https,包括微信公众号菜单等
第四步:使用命令php think workerman status检查workerman是否开启中,若是开启需要使用命令php think workerman stop 关闭然后开启workerman;如果关闭直接开启workerman。
这样直播使用https就可以实现了