若按主机域名分配转发的话,像这样:
切记:if后面的空格,还有条件语句操作符前后的空格。
location /socket.io {
if ($http_host = 'server1.xxx.com') {
proxy_pass http://168.168.168.2:1001;
}
if ($http_host = 'server2.xxx.com') {
proxy_pass http://168.168.168.2:1002;
}
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
$host 浏览器请求的ip或域名,不显示端口
$http_host 端口存在则显示(忽略80、443) 浏览器请求的ip或域名和端口号
$proxy_host 默认80端口不显示,其它显示,被代理服务的ip或域名和端口号
参考:
https://blog.csdn.net/yihanzhi/article/details/107002881
https://blog.csdn.net/liuxiao723846/article/details/83147792