1

我在配置 nginx proxy_pass 时遇到问题。有这样一种情况:

  • 服务器 1 - xx.xx.xx.xx - 代理服务器
  • 带有应用程序 A 的服务器 2 - yy.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 /登录)

我如何配置 nginx 使链接显示如下:

  • xx.xx.xx.xx/app_a/login
  • xx.xx.xx.xx/app_b/login
4

0 回答 0