nginx:是否有可能出现'catch all'error_page?

时间:2012-08-17 16:20:45

标签: configuration nginx webserver

在查看nginx的error_page指令的文档时,似乎必须手动列出nginx(或上游服务器)可能返回的每个可能的状态代码。

例如:

error_page   404          /404.html;
error_page   502 503 504  /50x.html;
error_page   403          http://example.com/forbidden.html;
error_page   404          = @fetch;

是否存在为未直接指定的所有状态代码生成通配符...例如:

error_page   404          /404.html;
error_page   5xx          /50x.html;

error_page   404          /404.html;
error_page   502 503 504  /50x.html;
error_page   @catchall    /5xx.html;

1 个答案:

答案 0 :(得分:2)

这是不可能的。

此外,不建议盲目列出所有代码,如

  • nginx允许重新定义所有响应代码,包括您不想重新定义的代码,除非在一些非常特殊的情况下(例如,您通常不想重新定义304(未修改),并且可能不是302(找到) )除非有非常具体的原因);
  • 重新定义一些错误代码可能会造成更多弊大于利(例如重新定义400(错误请求)是一个坏主意。)