websocket ssl 配置 404 问题
Posted hoge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了websocket ssl 配置 404 问题相关的知识,希望对你有一定的参考价值。
ailed: Error during WebSocket handshake: Unexpected response code: 404
ssl_certificate /usr/local/nginx/cert/2075610_beihaoyuewen.com.pem; ssl_certificate_key /usr/local/nginx/cert/2075610_beihaoyuewen.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; location /wss/ { proxy_pass http://127.0.0.1:8011/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } location / { proxy_pass http://www.beihaoyuewen.com; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } }
ws 也要求用ssl,前端页面需要改成wss;
//判断当前浏览器是否支持WebSocket if (‘WebSocket‘ in window) { websocket = new WebSocket("${ws}://${websocketPath}websocket/"+timestamp); } else { alert(‘当前浏览器 Not support websocket‘); }
正确配置,双域名:只验证了lpwyx域名,剩下的应该也没问题:
ssl.conf
server { listen 443 ssl; server_name www.lpwyx.com; ssl_certificate /usr/local/nginx/cert/2720230_lpwyx.com.pem; ssl_certificate_key /usr/local/nginx/cert/2720230_lpwyx.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; location / { proxy_pass http://www.lpwyx.com; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } } server { listen 443 ssl; server_name www.beihaoyuewen.com; ssl_certificate /usr/local/nginx/cert/2075610_beihaoyuewen.com.pem; ssl_certificate_key /usr/local/nginx/cert/2075610_beihaoyuewen.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; location / { proxy_pass http://www.beihaoyuewen.com; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } }
参考:
https://blog.csdn.net/qq_35808136/article/details/89677749
以上是关于websocket ssl 配置 404 问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Maven,WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:404
WebSocket 连接到“ws://localhost:8080/”失败:WebSocket 握手期间出错:意外响应代码:404
用于 SSL PHP 站点和 Websockets WSS 的 Nginx 配置?
在 websockets 上 Express socket.io 错误 404
ActionCable Rails 5 (Passenger) - 失败:WebSocket 握手期间出错:意外响应代码:404