服务器问答

原生 nginx 反代后端的时候能不能把 http status_code 转为一个 header,一律返回 200?
0
2021-05-19 20:45:34
idczone

需求:nginx 的下游会检查 http 状态码,不是 200 就不返回,这一层我无法控制

所以需要在 nginx 这一层把状态码都改为 200,同时把真正的 status code 放入到一个自定义 header 里


目前已经能实现把特定的 header 重命名 比如 Access-Control-Allow-Headers

        proxy_国外服务器hide_header Access-Control-Allow-Headers;
        add_header Access-Control-Allow-Headers "*" always;
        add_header real_acah "$upstream_http_access_control_allow_headers" always;

注意到 add_header 用到的 always 否则在 404 等页面就不能添加


location /dealwith_503{
set $ret_body '{"code": "V00006","msg": "操作太频繁了,请坐下来喝杯茶。"}';
if ( $arg_callback != "" )
{
return 200 'try{$arg_callback($ret_body)}catch(e){}';
}
return 200 $ret_body;
}
————————————————
版权声明:本文为 CSDN 博主「 streamcc 」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/streamcc/article/details/50587861

你这样是用 error_page 和 return 200 "content" 弄丢了返回的内容,我不需要改写内容,原样返回即可

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服