“的不同行为”;地点“;及;代理“U通行证”;关于nginx x-accel-redirect
我的nginx配置如下:“的不同行为”;地点“;及;代理“U通行证”;关于nginx x-accel-redirect,nginx,x-accel-redirect,Nginx,X Accel Redirect,我的nginx配置如下: location ^~ /mount_points/mount_point1 { internal; alias /repos/mount_point_one; } location ^~ /to_proxy { internal; proxy_pass http://myproxy:5000; } 当我请求“”时,我得到了预期的“/repos/mount\u point\u one/myfile.zip” 当请求“”时,我得到“” 在第一种情况下,
location ^~ /mount_points/mount_point1 {
internal;
alias /repos/mount_point_one;
}
location ^~ /to_proxy {
internal;
proxy_pass http://myproxy:5000;
}
当我请求“”时,我得到了预期的“/repos/mount\u point\u one/myfile.zip”
当请求“”时,我得到“”
在第一种情况下,删除了“/mount\u points/mount\u point1”部分,而在第二种情况下,“/to\u proxy”部分仍然存在,我必须在上游服务器中伪造一个“/to\u proxy”地址才能发现这一点
我错过什么了吗?如果我必须重写url,我如何才能将“/to_proxy”部分问题删除到上游服务器
谢谢。proxy\u-pass指令可以执行别名功能,但前提是提供了可选的URI
location ^~ /to_proxy/ {
internal;
proxy_pass http://myproxy:5000/;
}
为了使别名映射正常工作,还将在位置
参数中添加一个尾随的/
有关详细信息,请参阅
如果位置
参数后面的/
导致问题,可以使用重写。。。改为中断
:
location ^~ /to_proxy {
internal;
rewrite ^/to_proxy(?:/(.*))?$ /$1 break;
proxy_pass http://myproxy:5000;
}