直接上例子:
upstream websocket {
server localhost:39800;# 远程websocket服务器地址
}
server
{
....
location /chat/
{
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
....
}
upstream 将上游服务抽象成可代理的http流,这里可以负载均衡多个上游服务
location /chat/ 映射一个具体地址到当前的web服务器,这样如果server是https的,ws也可以通过wss访问
同时代理websocket 和 http 参考