美文网首页
Nginx直接处理上游返回的重定向请求

Nginx直接处理上游返回的重定向请求

作者: 海边的贝壳林 | 来源:发表于2023-07-31 17:14 被阅读0次

Nginx代理的上游服务返回的301、302等重定向请求,直接在服务器端(Nginx)端进行处理,不将重定向信息返回给客户端。客户端不感知重定向请求。

Nginx 提供了内置变量 “$upstream_http_< 响应头字段名>” 可获取响应头字段属性值
@error_page 是内部循环,最大循环次数为 10 次。

server {
    listen 8888;
    resolver 114.114.114.114 valid=30s;
    # Nginx处理状态码大于300的响应结果
    proxy_intercept_errors on;
    # 启用多级错误跳转
    recursive_error_pages on;
    location ~ /proxy {
        proxy_pass http://backend;
        error_page 301 302 307 308 = @error_page_302;
    }

    location @error_page_302 {
        set $new_redirect_location '$upstream_http_location';
        proxy_pass $new_redirect_location;
        # 支持多层3XX跳转
        error_page 301 302 307 = @error_page_302;
    }
}

参考: https://blog.csdn.net/hzbooks/article/details/109324553

相关文章

  • 重定向302

    情景描述 使用fetch发送请求 服务器发现无法处理,因此对请求进行了重定向处理。返回状态码302,并且在请求头中...

  • Nginx-映射站点

    1. 正向代理 Nginx会把请求转发到Proxy,Proxy直接返回数据到请求方 2. 反向代理 Nginx会向...

  • LNMP搭建

    一:LNMP是如何工作的 当用户发起http请求时,请求会被nginx处理,如果是静态资源请求.nginx会直接返...

  • 爬虫遇到301或302重定向可以用urllib请求

    爬虫遇到301或302重定向可以用urllib请求,用requests请求返回的301重定向,换用urllib请求...

  • HTTP接口设计

    状态码 请求成功 重定向 重定向的新地址都需要在响应头 Location 中返回 客户端出错 服务端出错 错误处理...

  • 【抖音】抖音券码的短链如何转为长链

    2022年8月3日 星期三 方法: 直接请求短链,返回的响应头的location(重定向)就是长链。 举例: 直接...

  • Linux+MySQL+nginx+uWSGI 部署Flask

    nginx(web服务器层):接收请求处理请求返回响应uWSGI(wsgi层):实现了uwsgi、WSGI、HTT...

  • 2018-11-18笔记

    web层请求方法细节处理1.请求参数的绑定2.请求方式的限制3.请求转发和重定向4.数据模型赋值5.返回json数...

  • 重定向与请求转发(转载)

    请求重定向:由客户重新发起请求 请求转发:由服务器自己内部分派请求给另一内容处理 重定向 servlet中重定向方...

  • 请求重定向与请求分派

    请求重定向由客户重新发起请求请求分派有服务器自己内部分派请求给另一内容处理 重定向 servlet中重定向方法: ...

网友评论

      本文标题:Nginx直接处理上游返回的重定向请求

      本文链接:https://www.haomeiwen.com/subject/jugepdtx.html