你全力做到最好,可能还不如别人随便搞搞!

发掘积累过程的快感

首页 » BIBLE模型 » Linux » Nginx反向代理处理30x跳转

Nginx反向代理处理30x跳转


nginx 可以作为很好的反向代理工具,应用非常广泛,一般用来保护后方的服务器,避免直接被用户访问。
如果后方服务器返回 302,此时,如果不进行特殊处理,客户端也收到 302,但是如果客户端访问不到内部的服务器就要让 nginx 主动跟随 302 的地址,把内容取给我们,这需要进行如下设置:

server {
    ...

    location /proxy {
        proxy_pass http://127.0.0.1:8081;

        proxy_intercept_errors on;
        error_page 301 302 307 = @handle_redirects;
    }

    location @handle_redirects {
        set $saved_redirect_location '$upstream_http_location';
        proxy_pass $saved_redirect_location;
    }

基本意思是添加对错误的处理,在服务器返回 302 302 307 的情况下,执行 handle_redirects 规则;
handle_redirects 规则中, set 设置变量 saved_redirect_location,然后再跳转过去。

互联网信息太多太杂,各互联网公司不断推送娱乐花边新闻,SNS,微博不断转移我们的注意力。但是,我们的时间和精力却是有限的。这里是互联网浩瀚的海洋中的一座宁静与美丽的小岛,供开发者歇息与静心潜心修炼。 “Bible”是圣经,有权威的书,我们的本意就是为开发者提供真正有用的的资料。 我的电子邮件 1217179982@qq.com,您在开发过程中遇到任何问题,欢迎与我联系。
Copyright © 2024. All rights reserved. 本站由 Helay 纯手工打造. 蜀ICP备15017444号