Nginx配置websocket的反向代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置websocket的反向代理相关的知识,希望对你有一定的参考价值。

由于一般会有跨域问题,就直接把跨域也一并配置了。nginx的跨域配置详情可以参考我之前的文章:Nginx配置跨域请求

websocket的反向代理配置:

直接贴代码:


server {
    listen 9000; # 监听9000端口
    server_name   websocket_server;

    # 允许跨域
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods ‘GET, POST, OPTIONS‘;
    add_header Access-Control-Allow-Headers ‘DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization‘;
    if ($request_method = ‘OPTIONS‘) {
        return 204;
    }

    location / {
        #添加wensocket代理
        proxy_pass http://127.0.0.1:9093;  # websocket服务器。不用管 ws://
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

以上是关于Nginx配置websocket的反向代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx websocket反向代理

nginx websocket反向代理配置

配置 Nginx 反向代理 WebSocket

Nginx实战之反向代理WebSocket的配置实例

修改 nginx 配置以正确反向代理 websockets

配置Nginx反向代理WebSocket,以代理NoVNC为例