nginx反向代理302自定义处理程序不起作用
Posted
技术标签:
【中文标题】nginx反向代理302自定义处理程序不起作用【英文标题】:nginx reverse proxy 302 custom handler not working 【发布时间】:2019-08-01 08:13:40 【问题描述】:location /
fastcgi_intercept_errors on;
proxy_pass https://drive.google.com/uc?$query_string;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host drive.google.com;
proxy_set_header Referer https://drive.google.com;
error_page 301 302 307 = @handle_redirects;
location @handle_redirects
set $redirect_location '$upstream_http_location';
proxy_pass $redirect_location;
proxy_cache ngx-cache;
proxy_cache_key $query_string;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
curl -I -A "ua" https://server/dl?id=trhtyjkfktkghjsutrtujyuk 直接返回 302 而不是转到 handle_redirects 部分,此配置适用于我的另一个带有服务器 Tengine 的 vps,但它不适用于我的另一个带有原始版本 nginx 的 vps,不知道哪里出了问题。任何帮助将不胜感激。谢谢!!
【问题讨论】:
【参考方案1】:相信你需要补充:
proxy_intercept_errors on;
盗自Intercepting backend 301/302 redirects (proxy_pass) and rewriting to another location block possible?
【讨论】:
以上是关于nginx反向代理302自定义处理程序不起作用的主要内容,如果未能解决你的问题,请参考以下文章
uni-app——一种通过Nginx反向代理处理302重定向请求解决网络请求中无法获取Cookie的解决方案