问题描述:
服务器上面部署了两个不同的项目,由于某种跨域原因需要使用同一个IP:PORT对这两个项目进行代理。
效果:
浏览器输入ai.xxxx.com -> 访问ProjectA
浏览器输入ai.xxxx.com/ProjectB -> 访问ProjectB
项目A
http://10.80.51.21:8080/ProjectA/
项目B
http://10.80.51.88:8080/ProjectB/;
域名
ai.xxxx.com
Nginx配置conf.d/xxxx.conf
server {
listen 80;
server_name ai.xxxx.com;
location / {
proxy_pass http://10.80.51.21:8080/ProjectA/;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /ProjectA/ {
proxy_pass http://10.80.51.21:8080/ProjectA/;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# location ~ /ProjectA/*\.(jpg|jpeg|png|gif|ico|css|js)$ {
# proxy_pass http://10.80.51.21:8080;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header Host $proxy_host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# }
location /ProjectB/ {
proxy_pass http://10.80.51.88:8080/ProjectB/;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# ProjectB的其他请求路径,是否需要这个根据项目实际情况
location /api/ {
proxy_pass http://10.80.51.88:8080/api/;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}