Nginx数据兜底
小于 1 分钟NginxNginx
简介
如果业务没有做好统一的错误管理,直接暴露给用户,会造成体验上的问题,因为需要进行数据兜底。
使用
关键配置如下:
server {
listen 8000;
location /test/ {
proxy_pass http://lbs;
# 存放用户的真实ip
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout http_500 http_503 http_404;
#开启错误拦截配置,一定要开启
proxy_intercept_errors on;
}
# 不加 =200,则返回的就是原先的http错误码;配上后如果出现500等错误都返回给用户200状态,并跳转至/default_api
error_page 404 500 502 503 504 =200 /default_api;
location = /default_api {
default_type application/json;
return 200 '{"code":"-1","msg":"invoke fail, not found "}';
}
}
- proxy_intercept_errors on; 开启错误拦截
- error_page 404 500 502 503 504 =200 /default_api; 不加 =200,则返回的就是原先的http错误码;配上后如果出现500等错误都返回给用户200状态,并跳转至/default_api