当我的域名网址如下所示时,我正在执行proxy_pass:
http://evil.corp/v666/this/is/my/url
一切正常。
location ~^/v666/ {
proxy_pass http://evil.corp.lan;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
evil.corp.lan有第二个nginx,我正在代理请求。
但我希望在域名之后删除“/ v666”部分,并仅代理我的网址的这一部分:
http://evil.corp/this/is/my/url
没有“/ v666”
你可以告诉我如何做到这一点?答案 0 :(得分:0)
更改:
location /v666/ {
和
proxy_pass http://evil.corp.lan:80/;
帮助。
https://serverfault.com/a/725433/331458
使用
非常重要location / v666 /
否则,使用位置〜^ / v666 /你最终会得到:
“proxy_pass”不能在正则表达式给定的位置,或在命名位置内,或在“if”语句内,或在“limit_except”块内。
现在它有效! :)