nginx
我有 3 个应用服务器,由服务器处理。
upstream he {
server h1.abc.example.com;
server h2.abc.example.com;
}
我如何根据某些标头值重定向请求。例如
abc-h1.abc.example.com
应该去服务器h1.abc.example.com
def-h1.abc.example.com
应该去服务器h2.abc.example.com
-h1.abc.example.com
所有请求都会相同
答案1
最有效的方法是将指令server_name
放在多个server
块中。例如:
server {
server_name abc-h1.example.com;
proxy_pass http://h1.example.com$request_uri;
}
server {
server_name def-h1.example.com;
proxy_pass http://h2.example.com$request_uri;
}
显然,如果您没有使用 NGINX 作为 HTTP 代理,那么请proxy_pass
用适当的指令替换:fastcgi_pass
,uwsgi_pass
等等。