####1. 根据路径映射不同的服务器,比如通过同一域名下二级路径规则做映射,解决一个域名下实现多服务器访问,来达到路径规则模式下反向代理功能
##通过以下配置来达到通过二级路径分别访问支付服务和订单服务节点服务器
#路径映射
server {
listen 80;
server_name superspeed.domain.com;
#通过访问二级目录payment来访问支付服务器
location /payment/ {
#后面的斜杠是一个关键,没有斜杠的话就会传递paymentServ到后端节点导致404
proxy_pass http://paymentServ/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#通过访问二级目录order来访问订单服务服务器
location /order/ {
proxy_pass http://orderServ/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#其他路径直接返回403页面
location / {
return 403;
}
}
#负载均衡节点配置
upstream paymentServ {
server 192.168.1.1;
server 192.168.1.2;
ip_hash;
}
upstream orderServ {
server 192.168.1.3;
server 192.168.1.4;
ip_hash;
}
###2. 通过不同的二级域名映射到不同的服务器
#二级域名域名映射
server {
listen 80;
server_name payment.domain.com;
location / {
proxy_pass http://paymentServ/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#二级域名域名映射,配置订单虚拟机映射
server {
listen 80;
server_name order.domain.com;
location / {
proxy_pass http://orderServ/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#负载均衡节点配置
upstream paymentServ {
server 192.168.1.1;
server 192.168.1.2;
ip_hash;
}
upstream orderServ {
server 192.168.1.3;
server 192.168.1.4;
ip_hash;
}
这些只是一些简单的配置,后续会把实际生产中常用的配置整理出来,本人技术有限,如果文章内容有不对的地方,请指正。