前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx add_header 仅部分或一次生效的原因与解决办法

nginx add_header 仅部分或一次生效的原因与解决办法

作者头像
xuing
发布2020-08-28 09:36:52
1.1K0
发布2020-08-28 09:36:52
举报

为了检测代理是否真的成功,并且判断是否为所谓的高匿名,我写了在nginx中做了如下的一个配置,添加头部字段,并返回客户端信息。

真正测试代理的时候,发送的是head请求,通过header字段,判断是否真的去请求了,而不是随意给我返回个200(恩,是有这种坑货代理的)

代码语言:javascript
复制
location /proxyTest {
    default_type text/plain;
    add_header 'Mutex' 'ProxyTest_Xuing';
    if ($http_x_forwarded_for != ""){
        add_header 'anonymous' 'no';
    }
    return 200 '$remote_addr - $remote_user [$time_local] $request "$status" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';  
}

只要是学过程序的,读下来的话,都知道,我想要的是首先添加一个Mutex,如果http_x_forwarded_for 不为空的话,再添加一个anonymous离谱的是,添加了下一个,上一个就没有了。hhhh 经过反复试验与资料查找(见参考链接),国外友人和我的情况比较类似,但我没想到是同样的原因。其实就是 add_header仅生效在最近的一个{}当中。 所以。。简单的办法就是if里面再写一遍add_header 'Mutex' 'ProxyTest_Xuing';

嘛,一般人应该不会有这个问题。就写到这里了 hhhh

参考链接: https://www.peterbe.com/plog/be-very-careful-with-your-add_header-in-nginx

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档