]> git.kaiwu.me - nginx.git/commitdiff
Added default overwrite in error_page 494.
authorMaxim Dounin <mdounin@mdounin.ru>
Fri, 28 Feb 2020 14:21:18 +0000 (17:21 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Fri, 28 Feb 2020 14:21:18 +0000 (17:21 +0300)
We used to have default error_page overwrite for 495, 496, and 497, so
a configuration like

    error_page 495 /error;

will result in error 400, much like without any error_page configured.

The 494 status code was introduced later (in 3848:de59ad6bf557, nginx 0.9.4),
and relevant changes to ngx_http_core_error_page() were missed, resulting
in inconsistent behaviour of "error_page 494" - with error_page configured
it results in 494 being returned instead of 400.

Reported by Frank Liu,
http://mailman.nginx.org/pipermail/nginx/2020-February/058957.html.

src/http/ngx_http_core_module.c

index da23af1fbfc6765e60e54f9904a70b989b7b5646..4867bed2b37c61307e06cc68ecd67c16b059ac21 100644 (file)
@@ -4687,6 +4687,7 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
                 case NGX_HTTP_TO_HTTPS:
                 case NGX_HTTPS_CERT_ERROR:
                 case NGX_HTTPS_NO_CERT:
+                case NGX_HTTP_REQUEST_HEADER_TOO_LARGE:
                     err->overwrite = NGX_HTTP_BAD_REQUEST;
             }
         }