最近项目需要,研究了一下upstream in map的方式,查了查资料,这里记录一下。
官方文档:Module ngx_http_upstream_module
upstream in map例子
一般map例子
map $request_uri $backend_server {
default 'serverdefault.domain.com:80';
/folder1 'server1.domain.com:80';
/folder2 'server2.domain.com:80';
/folder3 'server3.domain.com:80';
}
server {
listen 80;
resolver 4.2.2.2;
location / {
proxy_pass http://$backend_server;
}
}
upstream in map例子1
upstream bazhost {server hostname1:8080;}
upstream foohost {server 192.168.1.10:8081;}
upstream barhost {server hostname2:1234;}
upstream hamhost {server hostname2:5678;}
map $http_host $backend {
baz.mydomain.com bazhost;
foo.mydomain.com foohost;
bar.mydomain.com barhost;
ham