配置实例三:对特定资源实现负载均衡
在该实例片段中,我们设置了两组被代理的服务器组,名为“videobackend”的一组用于对请求video资源的客户端请求进行负载均衡,另一组用于对请求file资源的客户端请求进行负载均衡。
通过对location块uri的不同配置,我们就很轻易地实现了对特定资源的负载均衡。所有对“http://www. myweb.name/video/”的请求都会在videobackend服务器组中获得均衡效果,所有对“http://www.myweb.name/file/”的请求都会在filebackend服务器组中获得均衡效果。
在location /file/ {……}块中,我们将客户端的真实信息分别填充到了请求头中的“Host”、“X-Real-IP”和“X-Forwarded-For”头域,这样后端服务器组收到的请求中就保留了客户端的真实信息,而不是Nginx服务器的信息。
… #其他配置
upstream videobackend #配置后端服务器组1
{
server 192.168.1.2:80;
server 192.168.1.3:80;
server 192.168.1.4:80;
}
upstream filebackend #配置后端服务器组2
{
server 192.168.1.5:80;
server 192.168.1.6:80;
server 192.168.1.7:80;
}
server
{
listen 80;
server_name www.myweb.name;
index index.html index.htm;
location /video/ {
proxy_pass http://videobackend; #使用后端服务器组1
proxy_set_header Host $host;
…
}
location /file/ {
proxy_pass http://filebackend; #使用后端服务器组2
#保留客户端的真实信息
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
…
}
…
}
Last updated
Was this helpful?