SSL: disabled sending shutdown after ngx_http_test_reading().
Sending shutdown when ngx_http_test_reading() detects the connection is closed can result in "SSL_shutdown() failed (SSL: ... bad write retry)" critical log messages if there are blocked writes. Fix is to avoid sending shutdown via the c->ssl->no_send_shutdown flag, similarly to how it is done in ngx_http_keepalive_handler() for kqueue when pending EOF is detected. Reported by Jan Prachař (http://mailman.nginx.org/pipermail/nginx-devel/2018-December/011702.html).
This commit is contained in:
parent
1d696cd379
commit
eae2b2fdf1
@ -2992,6 +2992,12 @@ closed:
|
|||||||
rev->error = 1;
|
rev->error = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (NGX_HTTP_SSL)
|
||||||
|
if (c->ssl) {
|
||||||
|
c->ssl->no_send_shutdown = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
ngx_log_error(NGX_LOG_INFO, c->log, err,
|
ngx_log_error(NGX_LOG_INFO, c->log, err,
|
||||||
"client prematurely closed connection");
|
"client prematurely closed connection");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user