是否有方法对所有错误进行传递,但具有以下条件的特定错误除外
proxy_intercept_errors on;
我们只想捕获内部用于将代理传递到另一个应用程序的特定错误代码。这是配置文件的一个示例。
http {
error_page 404 =404 /404.html;
}
server {
listen 8080;
server_name some.domain.com;
recursive_error_pages on;
location / {
set $pool = "https://backend1"
proxy_pass $pool;
proxy_intercept_errors on;
error_page 399 =200 @fallback;
}
location @fallback {
set $pool = "https://backend2"
proxy_pass $pool;
}
}
backend1
可能返回一个404错误和一个自定义页,但一旦我们设置
proxy_intercept_errors on
正在转发给
/404.html