我有以下 nginx 配置来处理为我的静态网站提供服务并将请求重定向到我的 REST 后端:
server {
listen 80 default_server;
server_name _;
# Host static content directly
location / {
root /var/www/html;
index index.html;
try_files $uri $uri/ =404;
}
# Forward api requests to REST server
location /api {
proxy_pass http://127.0.0.1:8080;
}
}
如果我的 REST 后端脱机,代理模块会返回 HTTP 状态“502 Bad Gateway”,我可以通过添加以下内容将请求重定向到状态页面:
# Rewrite "502 Bad Gateway" to "503 Service unavailable"
error_page 502 =503 @status_offline;
# Show offline status page whenever 503 status is returned
error_page 503 @status_offline;
location @status_offline {
root /var/www/html;
rewrite ^(.*)$ /status_offline.html break;
}
但是,这仅适用于直接访问 REST 后端的请求。当后端离线时,如何以相同的方式将请求重定向到我的静态网站?