分布式系统中,需要有一个反向代理统一处理请求转发,所有需要访问这些分布式系统的请求都先打到nginx,然后nginx根据配置的转发规则将请求转发到相应的系统。
例如我的ngnix配置在/home/q/nginx/conf/vhost下面,有一个配置文件配置着url的请求转发规则,如:
location /user/order/html/ {
proxy_pass http://user_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
以上配置为凡是符合/user/order/html/前缀的请求全部转发到user_web系统。
而在upstream.conf配置各个分布系统的服务器地址
upstream user_web {
server [IP地址]:[端口];
}