forked from Hakase/nginx-build
Latest update - 7269
This commit is contained in:
@@ -1042,10 +1042,12 @@ invalid:
|
||||
static ngx_int_t
|
||||
ngx_http_ssl_init(ngx_conf_t *cf)
|
||||
{
|
||||
ngx_uint_t s;
|
||||
ngx_uint_t a, p, s;
|
||||
ngx_http_conf_addr_t *addr;
|
||||
ngx_http_conf_port_t *port;
|
||||
ngx_http_ssl_srv_conf_t *sscf;
|
||||
ngx_http_core_loc_conf_t *clcf;
|
||||
ngx_http_core_srv_conf_t **cscfp;
|
||||
ngx_http_core_srv_conf_t **cscfp, *cscf;
|
||||
ngx_http_core_main_conf_t *cmcf;
|
||||
|
||||
cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module);
|
||||
@@ -1069,5 +1071,32 @@ ngx_http_ssl_init(ngx_conf_t *cf)
|
||||
}
|
||||
}
|
||||
|
||||
if (cmcf->ports == NULL) {
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
port = cmcf->ports->elts;
|
||||
for (p = 0; p < cmcf->ports->nelts; p++) {
|
||||
|
||||
addr = port[p].addrs.elts;
|
||||
for (a = 0; a < port[p].addrs.nelts; a++) {
|
||||
|
||||
if (!addr[a].opt.ssl) {
|
||||
continue;
|
||||
}
|
||||
|
||||
cscf = addr[a].default_server;
|
||||
sscf = cscf->ctx->srv_conf[ngx_http_ssl_module.ctx_index];
|
||||
|
||||
if (sscf->certificates == NULL) {
|
||||
ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
|
||||
"no \"ssl_certificate\" is defined for "
|
||||
"the \"listen ... ssl\" directive in %s:%ui",
|
||||
cscf->file_name, cscf->line);
|
||||
return NGX_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NGX_OK;
|
||||
}
|
||||
@@ -3256,6 +3256,9 @@ ngx_http_core_create_srv_conf(ngx_conf_t *cf)
|
||||
cscf->merge_slashes = NGX_CONF_UNSET;
|
||||
cscf->underscores_in_headers = NGX_CONF_UNSET;
|
||||
|
||||
cscf->file_name = cf->conf_file->file.name.data;
|
||||
cscf->line = cf->conf_file->line;
|
||||
|
||||
return cscf;
|
||||
}
|
||||
|
||||
|
||||
@@ -184,6 +184,9 @@ typedef struct {
|
||||
/* server ctx */
|
||||
ngx_http_conf_ctx_t *ctx;
|
||||
|
||||
u_char *file_name;
|
||||
ngx_uint_t line;
|
||||
|
||||
ngx_str_t server_name;
|
||||
|
||||
size_t connection_pool_size;
|
||||
|
||||
@@ -336,19 +336,8 @@ ngx_http_init_connection(ngx_connection_t *c)
|
||||
sscf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_ssl_module);
|
||||
|
||||
if (sscf->enable || hc->addr_conf->ssl) {
|
||||
|
||||
c->log->action = "SSL handshaking";
|
||||
|
||||
if (hc->addr_conf->ssl && sscf->ssl.ctx == NULL) {
|
||||
ngx_log_error(NGX_LOG_ERR, c->log, 0,
|
||||
"no \"ssl_certificate\" is defined "
|
||||
"in server listening on SSL port");
|
||||
ngx_http_close_connection(c);
|
||||
return;
|
||||
}
|
||||
|
||||
hc->ssl = 1;
|
||||
|
||||
c->log->action = "SSL handshaking";
|
||||
rev->handler = ngx_http_ssl_handshake;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user