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 问题的主要内容,如果未能解决你的问题,请参考以下文章

Websocket 不工作:意外响应代码 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