Hello! On Mon, Jul 11, 2022 at 09:06:53PM +0300, Gena Makhomed wrote:
> On 10.07.2022 11:41, Maxim Dounin wrote: > > >> Как выловить такие ошибки в логе? > >> я их не вижу, есть ошибки типа warn Но это не то. > > > Вы чуть раньше в этом треде писали Илье, "client sent plain HTTP > > request to HTTPS port". Как и другие ошибки в клиентских > > запросах, эти ошибки логгируются на уровне info. > > nginx/1.23.0 из официального репозитория nginx.org пишет в лог: > > 2022/07/11 13:14:48 [crit] 67688#67688: *154358 SSL_do_handshake() > failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad > key share) while SSL handshaking, client: 192.241.214.22, server: > 0.0.0.0:443 > > проблема тут https://stackoverflow.com/a/67424645 на стороне клиента, > но в лог информация пишется на уровне [crit] - так и должно быть? Нет, так не должно быть. Просто это относительно новая ошибка, добавленная в OpenSSL 1.1.1 / TLSv1.3, и ей пока не прибит правильный уровень логгирования. Патч ниже. Если в логах вылезает что-то ещё - можно и нужно жаловаться. # HG changeset patch # User Maxim Dounin <mdou...@mdounin.ru> # Date 1657587735 -10800 # Tue Jul 12 04:02:15 2022 +0300 # Node ID ae4b86fa92e6eb0c1fa13482695218b334f2adc3 # Parent 219217ea49a8d648f5cadd046f1b1294ef05693c SSL: logging levels of various errors added in OpenSSL 1.1.1. Starting with OpenSSL 1.1.1, various additional errors can be reported by OpenSSL in case of client-related issues, most notably during TLSv1.3 handshakes. In particular, SSL_R_BAD_KEY_SHARE ("bad key share"), SSL_R_BAD_EXTENSION ("bad extension"), SSL_R_BAD_CIPHER ("bad cipher"), SSL_R_BAD_ECPOINT ("bad ecpoint"). These are now logged at the "info" level. diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -3343,6 +3343,12 @@ ngx_ssl_connection_error(ngx_connection_ #ifdef SSL_R_NO_SUITABLE_KEY_SHARE || n == SSL_R_NO_SUITABLE_KEY_SHARE /* 101 */ #endif +#ifdef SSL_R_BAD_KEY_SHARE + || n == SSL_R_BAD_KEY_SHARE /* 108 */ +#endif +#ifdef SSL_R_BAD_EXTENSION + || n == SSL_R_BAD_EXTENSION /* 110 */ +#endif #ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM || n == SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM /* 118 */ #endif @@ -3357,6 +3363,9 @@ ngx_ssl_connection_error(ngx_connection_ || n == SSL_R_NO_CIPHERS_PASSED /* 182 */ #endif || n == SSL_R_NO_CIPHERS_SPECIFIED /* 183 */ +#ifdef SSL_R_BAD_CIPHER + || n == SSL_R_BAD_CIPHER /* 186 */ +#endif || n == SSL_R_NO_COMPRESSION_SPECIFIED /* 187 */ || n == SSL_R_NO_SHARED_CIPHER /* 193 */ || n == SSL_R_RECORD_LENGTH_MISMATCH /* 213 */ @@ -3391,6 +3400,9 @@ ngx_ssl_connection_error(ngx_connection_ #ifdef SSL_R_APPLICATION_DATA_ON_SHUTDOWN || n == SSL_R_APPLICATION_DATA_ON_SHUTDOWN /* 291 */ #endif +#ifdef SSL_R_BAD_ECPOINT + || n == SSL_R_BAD_ECPOINT /* 306 */ +#endif #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG || n == SSL_R_RENEGOTIATE_EXT_TOO_LONG /* 335 */ || n == SSL_R_RENEGOTIATION_ENCODING_ERR /* 336 */ -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org