没有get / post参数的Nginx proxy_pass

时间:2017-07-26 15:05:43

标签: post nginx proxy get

当我的域名网址如下所示时,我正在执行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”

你可以告诉我如何做到这一点?

1 个答案:

答案 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”块内。

现在它有效! :)