Welcome! Log In Create A New Profile

Advanced

Re: Иногда в логах проскакивает SSL write() failed

Maxim Dounin
August 07, 2019 09:14AM
Hello!

On Mon, Aug 05, 2019 at 12:14:49PM -0400, grey wrote:

> Приветствую всех.
>
>
> Прикрутил к одному сайту защищенный протокол. Не сразу заметил, что во время
> наплыва посетителей сайт стал сильно тормозить, а в логах появляется
> ошибка:
>
> 2019/08/05 17:32:57 [crit] 1832#2988: *131089 SSL_write() failed (10053:
> Программа на вашем хост-компьютере разорвала установленное подключение)
> while sending response to client, client: 5.18.*.*, server: ***.ru, request:
> "GET /logo.jpg HTTP/1.1", upstream: "http://127.0.0.1:81/logo.jpg", host:
> "www.***.ru"
>
> Версия nginx под Windows последняя 1.17.2. Сервер физический, но слабенький.
> Если отключить шифрование, то все летает.
> upstream: "http://127.0.0.1:81" - это Апач. Может не хватает ресурсов
> процессора на шифрование трафика или я где-то накосячил?

Если я правильно понимаю, такая ошибка может (и должна) возникать,
если клиент закрывает соединение в процессе получения ответа.

Уровень логгирования в данном случае завышен в случае
SSL-соединений, так как SSL-код не учитывает особенности виндов.
Какой-то такой патч должен проблему закрыть, снизив уровень
логгирования до стандартного в подобных ситуациях:

# HG changeset patch
# User Maxim Dounin <mdounin@mdounin.ru>
# Date 1565182777 -10800
# Wed Aug 07 15:59:37 2019 +0300
# Node ID 50a68c37eb3b399aca25ffa06527f263d1961e07
# Parent fcd92ad76b7bb04b46c4b8fdfe14b6065acadf7d
SSL: lowered log level for WSAECONNABORTED errors on Windows.

Winsock uses ECONNABORTED instead of ECONNRESET, for normal connections
this is already handled since baad3036086e.

Reported at
http://mailman.nginx.org/pipermail/nginx-ru/2019-August/062363.html.

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
@@ -2814,6 +2814,9 @@ ngx_ssl_connection_error(ngx_connection_
if (sslerr == SSL_ERROR_SYSCALL) {

if (err == NGX_ECONNRESET
+#if (NGX_WIN32)
+ || err == NGX_ECONNABORTED
+#endif
|| err == NGX_EPIPE
|| err == NGX_ENOTCONN
|| err == NGX_ETIMEDOUT

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: Иногда в логах проскакивает SSL write() failed

Maxim Dounin August 07, 2019 09:14AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 283
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready