Nginx 配置 Websocket 转发


配置文件

  1. 在 http 中粘贴以下代码

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

    最终效果如下:

    http {
     ...
        map $http_upgrade $connection_upgrade {
           default upgrade;
           ''   close;
        }
     ...
    }
  2. 在 server 中粘贴以下代码

    # 这里的转发规则是自定义的,我配的是/websocket下的所有请求转发到8081端口
    location ~ /websocket/ {
        proxy_pass http://127.0.0.1:8081;
        # 下面三行不需要做出修改
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    最终效果如下:

    server {
     ...
        location ~ /websocket/ {
            proxy_pass http://127.0.0.1:8081;
            # 下面三行不需要做出修改
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
     ...
    }

    注意:如果你的服务器上nginx采用了多个配置文件:一个网站一个,那么http部分在总的配置文件中,server在具体网站的配置文件


文章作者: ❤纱雾
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ❤纱雾 !
评论
  目录