0

我有几个应用程序位于:

http://www.foo.com:80
http://www.bar.com:42
http://www.baz.com:1337

我正在尝试使用一台 nginx 机器反向代理。我现在遇到的问题是这些应用程序正在请求名称相同但内容不同的文件:

location /bootstrap.css {
 proxy_pass http://www.foo.com:80/bootstrap.css;
}

location /bootstrap.css {
 proxy_pass http://www.bar.com:42/bootstrap.css;
}

location /baz {
 proxy_pass http://www.baz.com:1337;
}

location /foo {
 proxy_pass http://www.foo.com:80/;
}

我是否可以重写来自特定应用程序服务器的所有响应以指向它的应用程序子文件夹?

例如:重定向

http://www.foo.com:80/* 

/foo
4

1 回答 1

0

您可以设置如下:

location /foo {
    proxy_pass http://www.foo.com:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

但是,您的应用程序 foo 可能需要知道这一点。例如看这篇文章

编辑:

Nginx 可能能够通过使用来自 ngx_http_sub_module 的 sub_filter来做你想做的事

尝试以下示例:答案 1答案 2

于 2016-05-09T21:21:03.947 回答