ZBLOG

你说的不对,我想实现的是 nginx 的 conf 中 当状态码>=400的时候删除 proxy 的响应头 Pragma

非常抱歉,我误解了您的问题。要在Nginx的配置文件中删除代理服务器响应头Pragma,并且仅当状态码大于或等于400时,请按照以下步骤操作:

  1. 安装HttpHeadersModule模块

要使用HttpHeadersModule模块,请确保已安装该模块。如果未安装,则需要重新编译Nginx并启用该模块。

  1. 编辑Nginx配置文件

打开nginx.conf文件,并找到proxy_pass指令所在的位置。

添加如下代码来设置一个变量 $status,存储当前请求的HTTP状态码:

location / {
    proxy_pass http://backend;
    add_header X-Proxy-Cache $upstream_cache_status;
    set $status $upstream_status;
}

然后,添加以下if语句来检查HTTP状态码是否大于或等于400:

if ($status >= 400) {
    proxy_hide_header Pragma;
}

这个if语句会检查变量$status中保存的HTTP状态码是否大于或等于400。如果是,则使用proxy_hide_header指令隐藏Pragma响应头。

完整示例:

location / {
    proxy_pass http://backend;
    add_header X-Proxy-Cache $upstream_cache_status;
    set $status $upstream_status;

    if ($status >= 400) {
        proxy_hide_header Pragma;
    }
}

请注意:使用if语句可能会影响性能,因此建议尽可能少地使用它们。如果您可以通过其他方式实现相同的目标,则应该尽量避免使用if语句。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4059

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?