V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
just1
V2EX  ›  NGINX

nginx 反代修改 header

  •  
  •   just1 · 2015-12-20 00:26:34 +08:00 via Android · 4399 次点击
    这是一个创建于 3281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    nginx 反代如何修改后端传来的 header 值呢。
    主要用于修改 301 及 302 的重定向地址。

    第 1 条附言  ·  2015-12-20 01:25:26 +08:00
    目前想到的方法是 lua ,不过也不知道怎么写。
    第 2 条附言  ·  2015-12-20 02:55:02 +08:00
    @hanbingtel
    已使用 lua 完成该功能,今天有点晚,明天再写出来
    12 条回复    2015-12-20 13:08:23 +08:00
    just1
        1
    just1  
    OP
       2015-12-20 00:30:15 +08:00 via Android
    顶顶
    just1
        2
    just1  
    OP
       2015-12-20 00:56:04 +08:00 via Android
    顶顶。
    des
        3
    des  
       2015-12-20 01:01:35 +08:00
    proxy_set_header
    百度都能搜到的东西,有这么懒么?
    just1
        4
    just1  
    OP
       2015-12-20 01:24:39 +08:00 via Android
    @des 你可能理解错了,我要修改的是返回到客户端的 header 值。情况是这样的
    反代 xxx.com 出现 302 跳转,跳转地址在 header 中的 localtion 。我需要修改包中的 localtion 字段。就是类似于 sub_filter ,不过该方法只能修改 body ,而我需要修改 header 。
    hanbingtel
        5
    hanbingtel  
       2015-12-20 02:19:08 +08:00   ❤️ 1
    这个我有研究,因为这几天正好遇到这个问题, openresty 作者开发了个 专门修改的程序,你去 git 下载 后编译下, 使用很简单!
    pubby
        6
    pubby  
       2015-12-20 03:01:33 +08:00 via Android   ❤️ 1
    ryd994
        7
    ryd994  
       2015-12-20 09:08:36 +08:00   ❤️ 1
    对于这个需求, 6 楼已经给出了答案
    对于你的问题, proxy_hide_header + add_header 试试看
    lanlanlan
        8
    lanlanlan  
       2015-12-20 10:08:30 +08:00   ❤️ 1
    →_→ 疑似活捉到反代别人站的坏人
    just1
        9
    just1  
    OP
       2015-12-20 10:10:33 +08:00 via Android
    @lanlanlan 哈哈,主要是代理墙站
    just1
        10
    just1  
    OP
       2015-12-20 10:12:03 +08:00 via Android
    @ryd994
    @pubby 非常感谢。我已经用 lua 解决了。提供的功能很丰富。
    lanlanlan
        11
    lanlanlan  
       2015-12-20 10:17:46 +08:00
    @just1 反代个某歌 (斜眼
    rrfeng
        12
    rrfeng  
       2015-12-20 13:08:23 +08:00   ❤️ 1
    有个 module 叫做 http_headers_more_module (名字记不清了但是关键词是 MORE...)

    可以修改返回的 header 。默认的话只能 add_header 不能 modify ……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 124ms · UTC 20:36 · PVG 04:36 · LAX 12:36 · JFK 15:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.