merge r3452, r3462, r3471, r3472:
fix miscellaneous name bugs: *) fix $upstream_http_ variable prefix length *) use a right "Location" header name, however, it did not harm, since ngx_http_variable_sent_location() never use key name field *) fix proxy_redirect name in error message *) "proxy_redirect default" may not be used if a proxy_pass uses variables
This commit is contained in:
parent
e6365cd48e
commit
f3a89a2cd3
3 changed files with 12 additions and 5 deletions
|
@ -1906,7 +1906,7 @@ ngx_http_proxy_create_loc_conf(ngx_conf_t *cf)
|
|||
* conf->body_set_len = NULL;
|
||||
* conf->body_set = NULL;
|
||||
* conf->body_source = { 0, NULL };
|
||||
* conf->rewrite_locations = NULL;
|
||||
* conf->redirects = NULL;
|
||||
*/
|
||||
|
||||
conf->upstream.store = NGX_CONF_UNSET;
|
||||
|
@ -2747,9 +2747,16 @@ ngx_http_proxy_redirect(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||
}
|
||||
|
||||
if (ngx_strcmp(value[1].data, "default") == 0) {
|
||||
if (plcf->proxy_lengths) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"\"proxy_redirect default\" may not be used "
|
||||
"with \"proxy_pass\" directive with variables");
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
||||
if (plcf->url.data == NULL) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"\"proxy_rewrite_location default\" must go "
|
||||
"\"proxy_redirect default\" must go "
|
||||
"after the \"proxy_pass\" directive");
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
|
|
@ -538,8 +538,8 @@ ngx_http_header_filter(ngx_http_request_t *r)
|
|||
|
||||
r->headers_out.location->value.len = b->last - p;
|
||||
r->headers_out.location->value.data = p;
|
||||
r->headers_out.location->key.len = sizeof("Location: ") - 1;
|
||||
r->headers_out.location->key.data = (u_char *) "Location: ";
|
||||
r->headers_out.location->key.len = sizeof("Location") - 1;
|
||||
r->headers_out.location->key.data = (u_char *) "Location";
|
||||
|
||||
*b->last++ = CR; *b->last++ = LF;
|
||||
}
|
||||
|
|
|
@ -494,7 +494,7 @@ ngx_http_get_variable(ngx_http_request_t *r, ngx_str_t *name, ngx_uint_t key,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (ngx_strncmp(name->data, "upstream_http_", 10) == 0) {
|
||||
if (ngx_strncmp(name->data, "upstream_http_", 14) == 0) {
|
||||
|
||||
if (ngx_http_upstream_header_variable(r, vv, (uintptr_t) name)
|
||||
== NGX_OK)
|
||||
|
|
Loading…
Reference in a new issue