zoukankan      html  css  js  c++  java
  • websocket使用nginx代理后连接频繁打开和关闭

    前几天开发了一个功能,使用websocket向前台发送消息,与前端联调时一切正常,但是发布到环境出现如下报错:

    发现404,无法找到连接,突然想到环境上是走nginx代理的,应该是nginx没有配置代理,于是nginx配置如下:

    location /ctm01expvideo-web/ {
    
            proxy_set_header   Host             $http_host;
    
            proxy_set_header   X-Real-IP        $remote_addr;
    
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    
            proxy_set_header   X-Forwarded-Proto  $scheme;
    
            //新添加
    
            proxy_set_header Upgrade "websocket";
    
            //新添加
    
            proxy_set_header Connection "upgrade";
    
            proxy_pass http://10.194.98.123:36099/ctm01expvideo-web/;
    
    }

    上面的配置可以使代理端口支持websocket协议,重启nginx后404报错消失,但是又出现如下报错:

    查阅资料后发现是配置有问题,重新修改nginx配置文件:

    location /ctm01expvideo-web/ {
    
            proxy_set_header   Host             $http_host;
    
            proxy_set_header   X-Real-IP        $remote_addr;
    
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    
            proxy_set_header   X-Forwarded-Proto  $scheme;
    
            //新添加
    
            proxy_set_header Upgrade "websocket";
    
            //新添加
    
            proxy_set_header Connection "upgrade";
            //新添加
            proxy_http_version 1.1;
    
            proxy_pass http://10.194.98.123:36099/ctm01expvideo-web/;
    
    }

    恢复正常。

  • 相关阅读:
    Java--笔记(4)
    Java--笔记(3)
    Java--笔记(2)
    Java--笔记(1)
    Java--剑指offer(10)
    Java--剑指offer(9)
    网络基础面试常考知识点
    Java--剑指offer(8)
    Keil C51 的printf
    C语言中以十六进制输出字符型变量会出现'ffffff"的问题
  • 原文地址:https://www.cnblogs.com/jxxblogs/p/12890330.html
Copyright © 2011-2022 走看看