一、什么情况下我们需要Nginx静态资源兜底
我们先看一下一个后端服务的结构图长什么样子
一个请求会先经过网关再通过网关打到后端节点。如果说后端节点发生了未知异常或者说超过了后端的负载,这个时候就可以在Nginx网关配置兜底策略。
比如说一些信息流业务的首页就是非常重要的业务场景,要有兜底页面保证基本可用。就在可以在当后端响应非200的时候,配置转发访问兜底页面
二、如何在Nginx上配置静态资源兜底
兜底页面的配置在Nginx上可以在nginx.conf上配置如下代码
location ~ /path {
proxy_pass [http://GATEWAY_SERVER](http://gateway_server/);
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Forwarded-For $proxy_protocol_addr ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Proto HTTPS;
proxy_intercept_errors on;
if ( $args ~* "start=0" ) {
error_page 400 403 500 502 503 504 =200 @50xfail;
}
}
location @50xfail {
rewrite ^/(.*) /static/你的静态页面 break;
proxy_pass [静态页面域名path](http://xxxx.com/);
add_header req-id 0 ;
}