多个应用程序的带前缀的nginx代理路径
我在配置nginx proxy\u pass时遇到问题。有一种情况是这样的:多个应用程序的带前缀的nginx代理路径,nginx,Nginx,我在配置nginx proxy\u pass时遇到问题。有一种情况是这样的: 服务器1-xx.xx.xx.xx-代理服务器 带应用程序A的服务器2-yy.yy.yy 带应用程序B的服务器3-zz.zz.zz.zz 配置如下所示: server { listen 80; ## listen for ipv4; this line is default and implied location /app_a { rewrite /app_a/(.*)$ /
- 服务器1-xx.xx.xx.xx-代理服务器
- 带应用程序A的服务器2-yy.yy.yy
- 带应用程序B的服务器3-zz.zz.zz.zz
server {
listen 80; ## listen for ipv4; this line is default and implied
location /app_a {
rewrite /app_a/(.*)$ /$1 break;
access_log off;
proxy_pass http://yy.yy.yy.yy/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Upstream $remote_addr;
}
location /app_b {
rewrite /app_b/(.*)$ /$1 break;
access_log off;
proxy_pass http://zz.zz.zz.zz;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Upstream $remote_addr;
}
}
然后,当我使用我的浏览器xx.xx.xx.xx/app_a或xx.xx.xx.xx/app_b时,没有加载静态文件(404),所有链接都没有应用程序前缀(xx.xx.xx.xx/login)
如何配置nginx,使链接显示为:
- xx.xx.xx.xx/app_a/login
- xx.xx.xx.xx/app_b/login
app\u a
和app\u b
应该设置其根路径为http://example.com/app_a
和http://example.com/app_b
,nginx不负责重写响应中的URL