跳至主要內容

Nginx数据兜底

xw小于 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