我使用 nginx 作为我现有 Web 服务器的反向代理。我只想管理一组自定义错误页面,最好在 nginx 内管理,因为这是最接近客户端的级别。
现在我可以使用error_pages
和proxy_intercept_errors
设置。然而:
在 400(错误请求)错误的情况下,我需要底层 Web 服务器能够通过一些 JSON 正文内容,详细说明请求错误的原因。所以我只需要一种禁用proxy_intercept_errors
400 状态代码的方法。
对于任何状态代码,我从不想显示默认的 nginx 错误页面。现在从我所看到的,为了实现这一点,我需要明确列出可以想象的所有可能的状态代码,并为其提供一个错误页面?例如,而不仅仅是通配符 500 以上的所有错误。
我的问题是 - 上述两个问题是否可以在 nginx 本身内解决?如果没有,上述问题是否有明显的解决方案?
我没有正确阅读文档。事实上,通过 400 错误绕过规则很简单,因为没有错误页面指令。
这是来自proxy_intercept_errors文档条目:
如果您将此设置为 on,那么 nginx 将拦截由 error_page 指令显式处理的状态代码。状态代码与 error_page 指令不匹配的响应将从代理服务器按原样发送。 (强调我自己)
归档时间: |
|
查看次数: |
14235 次 |
最近记录: |