Nginx正在执行代理传递以完成URL

Nginx正在执行代理传递以完成URL,nginx,proxypass,x-accel-redirect,Nginx,Proxypass,X Accel Redirect,我的servlet正在发送一个带有完整URL的X-Accel-Redirect,如 /缓存/。它必须是完整的URL,因为我们的业务逻辑决定了资源在web上的位置 我希望nginx从下载内容,就像它来自原始URL请求一样。因此,我不想进行重写(或重定向)。 我正在尝试下面提到的配置,但它不起作用 location /cached/(.*)$ { proxy_pass $1; } 有没有办法从匹配URI中使用绝对URL并向其传递代理? 提前感谢。您必须使用正则表达式匹配位置 location ~

我的servlet正在发送一个带有完整URL的X-Accel-Redirect,如 /缓存/。它必须是完整的URL,因为我们的业务逻辑决定了资源在web上的位置

我希望nginx从下载内容,就像它来自原始URL请求一样。因此,我不想进行重写(或重定向)。 我正在尝试下面提到的配置,但它不起作用

location /cached/(.*)$ {
proxy_pass  $1;
}
有没有办法从匹配URI中使用绝对URL并向其传递代理?
提前感谢。

您必须使用正则表达式匹配位置

location ~ '/cached/(.*)$' {
#       ^^^                         this is for regex
   proxy_pass  $1?$args;
}

你能举一个例子说明这个
/cached
URL吗?它已经在问题的第一行了“/cached/”