IOS13.5 safari無法建立websocket連接
這里詳細(xì)描述問題
使用nignx反向代理配置如何
location /wss{
proxy_pass http://192.168.2.5:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
workerman運(yùn)行
----------------------- WORKERMAN -----------------------------
Workerman version:3.5.31 PHP version:7.3.4
------------------------ WORKERS -------------------------------
worker listen processes status
myproject websocket://192.168.2.5:8000 1 [ok]
safari可以訪問 https://192.168.2.5/wss
android和PC上沒有問題,不使用反向代理safari可以連接
var socket=new WebSocket("wss://192.168.2.5/wss");
socket.onopen=function(){
console.log('opened');
};
socket.onmessage=function(event) {
};
socket.onclose=function (e) {
};
socket.onerror=function (e) {
document.write(JSON.stringify(e));
};
window10 phpstudy
thinkphp5.1
Workerman version:3.5.31 PHP version:7.3.4
文檔說發(fā)起wss連接時不能用ip,得用ssl證書對應(yīng)的域名去連。
var socket=new WebSocket("wss://192.168.2.5/wss");
改成
var socket=new WebSocket("wss://域名.com/wss");
試下。
域名必須是證書對應(yīng)的域名。如果是自簽名證書估計(jì)夠嗆,有些瀏覽器可能不認(rèn)。