nginx 配置WebSocket代理服务器

http {
    server {
        location /chat/ {
            proxy_pass http://backend;    //服务器地址
            proxy_http_version 1.1;    //webscoket连接代理服务器必须使用http 1.1版本,默认
            proxy_set_header Upgrade $http_upgrade;    //连接升级
            proxy_set_header Connection "upgrade";    //要求客户端连接协议升级
        }
    }
}

从版本1.3.13开始,nginx实现了特殊的操作模式,如果代理服务器返回带有代码101(交换协议)的响应,则允许在客户端和代理服务器之间建立隧道,并且客户端要求通过请求中的“Upgrade”标头。

服务器和客户端要通过 ping/pong 方法保留心跳维持连接,由于nginx的代理服务器的默认配置:

proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;

所以需要我们设置ping/pong的时间间隔小于60s。

如果想设置ping/pong的时间间隔大于于60s,则需要修改以上3个配置参数。

你可能感兴趣的:(nginx)