@@ -795,42 +795,45 @@ ngx_stream_lua_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
795795
796796 dd ("merge srv conf" );
797797
798- if (conf -> srv .ssl_cert_src .len == 0 ) {
799- conf -> srv .ssl_cert_src = prev -> srv .ssl_cert_src ;
800- conf -> srv .ssl_cert_src_key = prev -> srv .ssl_cert_src_key ;
801- conf -> srv .ssl_cert_handler = prev -> srv .ssl_cert_handler ;
802- }
798+ sscf = ngx_stream_conf_get_module_srv_conf (cf , ngx_stream_ssl_module );
799+ if (sscf && sscf -> listen ) {
800+ if (conf -> srv .ssl_cert_src .len == 0 ) {
801+ conf -> srv .ssl_cert_src = prev -> srv .ssl_cert_src ;
802+ conf -> srv .ssl_cert_src_key = prev -> srv .ssl_cert_src_key ;
803+ conf -> srv .ssl_cert_handler = prev -> srv .ssl_cert_handler ;
804+ }
803805
804- if (conf -> srv .ssl_cert_src .len ) {
805- sscf = ngx_stream_conf_get_module_srv_conf (cf , ngx_stream_ssl_module );
806- if ( sscf == NULL || sscf -> ssl .ctx == NULL ) {
807- ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
808- "no ssl configured for the server" );
806+ if (conf -> srv .ssl_cert_src .len ) {
807+ sscf = ngx_stream_conf_get_module_srv_conf (cf , ngx_stream_ssl_module );
808+ if ( sscf -> ssl .ctx == NULL ) {
809+ ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
810+ "no ssl configured for the server" );
809811
810- return NGX_CONF_ERROR ;
811- }
812+ return NGX_CONF_ERROR ;
813+ }
812814
813815#ifdef LIBRESSL_VERSION_NUMBER
814816
815- ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
816- "LibreSSL is not supported by ssl_certificate_by_lua*" );
817- return NGX_CONF_ERROR ;
817+ ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
818+ "LibreSSL is not supported by ssl_certificate_by_lua*" );
819+ return NGX_CONF_ERROR ;
818820
819821#else
820822
821823# if OPENSSL_VERSION_NUMBER >= 0x1000205fL
822824
823- SSL_CTX_set_cert_cb (sscf -> ssl .ctx , ngx_stream_lua_ssl_cert_handler , NULL );
825+ SSL_CTX_set_cert_cb (sscf -> ssl .ctx , ngx_stream_lua_ssl_cert_handler , NULL );
824826
825827# else
826828
827- ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
828- "OpenSSL too old to support ssl_certificate_by_lua*" );
829- return NGX_CONF_ERROR ;
829+ ngx_log_error (NGX_LOG_EMERG , cf -> log , 0 ,
830+ "OpenSSL too old to support ssl_certificate_by_lua*" );
831+ return NGX_CONF_ERROR ;
830832
831833# endif
832834
833835#endif
836+ }
834837 }
835838
836839
0 commit comments