我有一个正在运行的 proxy_pass 并且希望某些配置仅适用于 root。
我试过了
location / {
proxy_pass http://foo.com/
}
location = / {
subs_filter 'foo' 'bar';
}
但是我从 foo.com 收到 404 - 我该如何让 subs_filter 仅适用于根?
答案1
对于 nginx,仅使用“一个”匹配的位置块;在问题中,这意味着对于 url/
没有 proxy_pass - 它会将请求视为对根目录中(如果未配置,则为默认)文件的请求。
文档中有一个与该问题非常相似的例子:
location /user/ {
proxy_pass http://user.example.com;
}
location = /user {
proxy_pass http://login.example.com;
}
将其应用于问题唯一缺少的就是将 proxy_pass 添加到= /
位置块,即
location / {
proxy_pass http://foo.com/
}
location = / {
proxy_pass http://foo.com/
subs_filter 'foo' 'bar';
}