diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2021-08-16 22:40:31 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2021-08-16 22:40:31 +0300 |
commit | ce5996cdd1b2e150f645efbc337e5a681dbe241c (patch) | |
tree | 7474e80d643bbd397d62ceb0192da067044b5fcb /src/http/modules/ngx_http_proxy_module.c | |
parent | b381cbc085502b76a1db3f4439ccec5bb01b5a54 (diff) | |
download | nginx-ce5996cdd1b2e150f645efbc337e5a681dbe241c.tar.gz nginx-ce5996cdd1b2e150f645efbc337e5a681dbe241c.zip |
SSL: ciphers now set before loading certificates (ticket #2035).
To load old/weak server or client certificates it might be needed to adjust
the security level, as introduced in OpenSSL 1.1.0. This change ensures that
ciphers are set before loading the certificates, so security level changes
via the cipher string apply to certificate loading.
Diffstat (limited to 'src/http/modules/ngx_http_proxy_module.c')
-rw-r--r-- | src/http/modules/ngx_http_proxy_module.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c index 368297e77..084462746 100644 --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -4944,6 +4944,12 @@ ngx_http_proxy_set_ssl(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *plcf) cln->handler = ngx_ssl_cleanup_ctx; cln->data = plcf->upstream.ssl; + if (ngx_ssl_ciphers(cf, plcf->upstream.ssl, &plcf->ssl_ciphers, 0) + != NGX_OK) + { + return NGX_ERROR; + } + if (plcf->upstream.ssl_certificate) { if (plcf->upstream.ssl_certificate_key == NULL) { @@ -4975,12 +4981,6 @@ ngx_http_proxy_set_ssl(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *plcf) } } - if (ngx_ssl_ciphers(cf, plcf->upstream.ssl, &plcf->ssl_ciphers, 0) - != NGX_OK) - { - return NGX_ERROR; - } - if (plcf->upstream.ssl_verify) { if (plcf->ssl_trusted_certificate.len == 0) { ngx_log_error(NGX_LOG_EMERG, cf->log, 0, |