# HG changeset patch # User Igor Sysoev # Date 1204793335 0 # Node ID dc0f5013f674e3de224dc8b96cb504231d708843 # Parent a47516c7065bad931869704a1921bc336e600efa create dummy resolver in http context to inherit it in all servers diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -2908,14 +2908,21 @@ ngx_http_core_merge_loc_conf(ngx_conf_t prev->resolver_timeout, 30000); if (conf->resolver == NULL) { - conf->resolver = prev->resolver; - - if (conf->resolver == NULL) { - conf->resolver = ngx_resolver_create(cf, NULL); - if (conf->resolver == NULL) { + + if (prev->resolver == NULL) { + + /* + * create dummy resolver in http {} context + * to inherit it in all servers + */ + + prev->resolver = ngx_resolver_create(cf, NULL); + if (prev->resolver == NULL) { return NGX_CONF_ERROR; } } + + conf->resolver = prev->resolver; } ngx_conf_merge_path_value(conf->client_body_temp_path, @@ -3717,6 +3724,10 @@ ngx_http_core_resolver(ngx_conf_t *cf, n ngx_url_t u; ngx_str_t *value; + if (clcf->resolver) { + return "is duplicate"; + } + value = cf->args->elts; ngx_memzero(&u, sizeof(ngx_url_t));