我在现有的Web服务器上使用Nginx作为反向代理.我只想管理一组自定义错误页面,理想情况是在Nginx中,因为这是最接近客户端的级别.
现在我可以使用error_pages和proxy_intercept_errors设置.然而:
>在400(错误请求)错误的情况下,我需要底层Web服务器能够通过一些JSON正文内容,详细说明请求错误的原因.因此,我需要一种仅为400状态代码禁用proxy_intercept_errors的方法.
>我永远不想为任何状态代码显示默认的Nginx错误页面.现在从我所看到的,为了实现这一点,我需要明确地列出可以想象的每个可能的状态代码,并为它设置一个错误页面?而不仅仅是将所有错误通配给500以上.
最佳答案
我没有正确阅读文档.事实上,400错误绕过规则很简单,因为没有错误页面指令.
原文链接:https://www.f2er.com/nginx/435574.html这是来自proxy_intercept_errors文档条目:
If you set this to on then Nginx will intercept status codes that are
explicitly handled by an error_page directive. Responses with status
codes that do not match an error_page directive will be sent as-is
from the proxied server.
(emphasis my own)