websocket连接wss踩坑日记
//var ws = new WebSocket("ws://192.168.0.142:2347");第一次
//var ws = new WebSocket("wss://192.168.0.142:2347");第二次出错
var ws = new WebSocket("wss://域名/tv/wss");//正常
网站部署ssl后,websocket连接的协议也要从ws变为wss(ws+ssl) 修改未wss,报错net::ERR_SSL_PROTOCOL_Error
因为IP肯定没得证书啊,只能陪着域名,需要修改 nginx配置文件nginx.conf 宝塔修改网站->设置->配置文件
server { #SSL 访问端口号为 443 listen 443 ssl; #填写绑定证书的域名 server_name xxx; #证书文件名称 ssl_certificate xxx; #私钥文件名称 ssl_certificate_key xxx; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 root C:/it/admin/blogBackstage; index index.html index.htm; } #重点 location ~ ^/tv{ proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true;
# proxy_pass http://192.168.0.252:2347;
proxy_pass http://localhost:2347;
}
error_page 404 ui-404.html;
}
正常访问域名(tv可以修改,目的是与框架路由区分开) var ws = new WebSocket(“wss://域名/tv/wss”);
|