mirror of
https://github.com/nginx/nginx.git
synced 2024-12-01 13:09:10 -06:00
allowing handling 400 errors via proxy_pass
This commit is contained in:
parent
586f7a5f5d
commit
8a3cdc00ff
@ -514,12 +514,7 @@ ngx_http_handler(ngx_http_request_t *r)
|
||||
} else {
|
||||
r->lingering_close = 0;
|
||||
}
|
||||
}
|
||||
|
||||
r->valid_unparsed_uri = 1;
|
||||
r->valid_location = 1;
|
||||
|
||||
if (!r->internal) {
|
||||
r->phase_handler = 0;
|
||||
|
||||
} else {
|
||||
@ -527,6 +522,12 @@ ngx_http_handler(ngx_http_request_t *r)
|
||||
r->phase_handler = cmcf->phase_engine.server_rewrite_index;
|
||||
}
|
||||
|
||||
if (r->unparsed_uri.len) {
|
||||
r->valid_unparsed_uri = 1;
|
||||
}
|
||||
|
||||
r->valid_location = 1;
|
||||
|
||||
r->write_event_handler = ngx_http_core_run_phases;
|
||||
ngx_http_core_run_phases(r);
|
||||
}
|
||||
|
@ -979,7 +979,7 @@ ngx_http_read_request_header(ngx_http_request_t *r)
|
||||
c->error = rev->error;
|
||||
c->log->action = "sending response to client";
|
||||
|
||||
ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
|
||||
ngx_http_finalize_request(r, NGX_HTTP_CLIENT_CLOSED_REQUEST);
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
|
@ -299,6 +299,9 @@ static ngx_str_t error_pages[] = {
|
||||
};
|
||||
|
||||
|
||||
static ngx_str_t ngx_http_get_name = { 3, "GET " };
|
||||
|
||||
|
||||
ngx_int_t
|
||||
ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
|
||||
{
|
||||
@ -364,6 +367,7 @@ ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
|
||||
r->err_status = err_page[i].overwrite;
|
||||
|
||||
r->method = NGX_HTTP_GET;
|
||||
r->method_name = ngx_http_get_name;
|
||||
|
||||
uri = &err_page[i].uri;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user