请教一下关于nginx反代websocket增加ssl的问题

发布于 2022-09-12 02:10:58 字数 1333 浏览 67 评论 0

目前我使用了nginx反代我内网的一台提供websocket的服务器,配置如下

http {
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
        }
        server {

    listen 443 ssl;
    ssl on;
    ssl_certificate       certs/xxx.pem;
        ssl_certificate_key   certs/xxx.key;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        ssl_verify_client off;
    

    server_name xxx.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        proxy_pass   http://xxx:8888;
        proxy_http_version 1.1; 
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection         $connection_upgrade;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For                           $proxy_add_x_forwarded_for;
          proxy_connect_timeout 60;
           proxy_read_timeout 600;
          proxy_send_timeout 600;
            
    }


}
}

发现一个问题是当我主动关闭websocket连接的时候,浏览器会报

WebSocket connection to 'wss://xxx' failed: Invalid frame header

这个异常非常奇怪,但是我取消wss使用ws的时候一切都正常,所以排除是我程序的问题.请教一下同学们,这大概是一个什么问题呢.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相权↑美人 2022-09-19 02:10:58

X-Forwarded-ProtoX-Forwarded-Port 这两个头也在代理里传一下再看看。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文