summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/http/ngx_http.h2
-rw-r--r--src/http/ngx_http_request.c16
-rw-r--r--src/http/ngx_http_request.h1
3 files changed, 12 insertions, 7 deletions
diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h
index f974081ea..bf70c16a8 100644
--- a/src/http/ngx_http.h
+++ b/src/http/ngx_http.h
@@ -27,11 +27,11 @@ typedef u_char *(*ngx_http_log_handler_pt)(ngx_http_request_t *r,
#include <ngx_http_variables.h>
+#include <ngx_http_config.h>
#include <ngx_http_request.h>
#include <ngx_http_script.h>
#include <ngx_http_upstream.h>
#include <ngx_http_upstream_round_robin.h>
-#include <ngx_http_config.h>
#include <ngx_http_busy_lock.h>
#include <ngx_http_core_module.h>
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index cab1f5262..93a519b77 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -292,6 +292,9 @@ ngx_http_init_connection(ngx_connection_t *c)
}
}
+ /* the default server configuration for the address:port */
+ hc->conf_ctx = hc->addr_conf->default_server->ctx;
+
ctx = ngx_palloc(c->pool, sizeof(ngx_http_log_ctx_t));
if (ctx == NULL) {
ngx_http_close_connection(c);
@@ -399,12 +402,9 @@ ngx_http_init_request(ngx_event_t *rev)
r->connection = c;
- /* the default server configuration for the address:port */
- cscf = hc->addr_conf->default_server;
-
- r->main_conf = cscf->ctx->main_conf;
- r->srv_conf = cscf->ctx->srv_conf;
- r->loc_conf = cscf->ctx->loc_conf;
+ r->main_conf = hc->conf_ctx->main_conf;
+ r->srv_conf = hc->conf_ctx->srv_conf;
+ r->loc_conf = hc->conf_ctx->loc_conf;
rev->handler = ngx_http_process_request_line;
r->read_event_handler = ngx_http_block_reading;
@@ -449,6 +449,8 @@ ngx_http_init_request(ngx_event_t *rev)
ngx_http_set_connection_log(r->connection, clcf->error_log);
+ cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module);
+
if (c->buffer == NULL) {
c->buffer = ngx_create_temp_buf(c->pool,
cscf->client_header_buffer_size);
@@ -689,6 +691,8 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg)
return SSL_TLSEXT_ERR_NOACK;
}
+ hc->conf_ctx = cscf->ctx;
+
r->srv_conf = cscf->ctx->srv_conf;
r->loc_conf = cscf->ctx->loc_conf;
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 7ceea6225..a2df0c6f2 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -293,6 +293,7 @@ typedef struct ngx_http_addr_conf_s ngx_http_addr_conf_t;
typedef struct {
ngx_http_addr_conf_t *addr_conf;
+ ngx_http_conf_ctx_t *conf_ctx;
ngx_http_request_t *request;