nginx配置websocket

项目中应用了websocket以后,需要在nginx上做配置,不然请求就是404.

重点来了

nginx.conf下面

http节点中,需要增加

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

这个配置节定义了$http_upgrade 和$connection_upgrade变量,

很多网站光贴配置文件,没贴这个map,导致你配置上去nginx启动不了

然后在自己的server配置节增加

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

这个配置节,在header中增加属性,这样后台才能解析到。

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

    server {
        listen 80;
        access_log  /var/log/nginx/test_websocket.access.log  main;
        location / {
            proxy_pass http://127.0.0.1:8888;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }

上面配置是conf.d中vhost文件配置。

你可能感兴趣的:(服务器运维,nginx,websocket,运维,ws)