Nginx同域项目代理

问题描述:
服务器上面部署了两个不同的项目,由于某种跨域原因需要使用同一个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;
        }

   }