diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2014-07-28 18:30:14 +0400 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2014-07-28 18:30:14 +0400 |
| commit | 4b2f12a60485661039bad8e334716eba7fbc7b24 (patch) | |
| tree | 25e285186d4d764a7fa9dbf97d3303b058812f69 /src | |
| parent | 7b24c53efee348e919d03cba5c74445095402593 (diff) | |
| download | nginx-4b2f12a60485661039bad8e334716eba7fbc7b24.tar.gz nginx-4b2f12a60485661039bad8e334716eba7fbc7b24.tar.bz2 | |
Upstream: SSL handshake timeouts.
Timeout may not be set on an upstream connection when we call
ngx_ssl_handshake() in ngx_http_upstream_ssl_init_connection(),
so make sure to arm it if it's not set.
Based on a patch by Yichun Zhang.
Diffstat (limited to 'src')
| -rw-r--r-- | src/http/ngx_http_upstream.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 58edc62fd..18b04f775 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -1393,6 +1393,11 @@ ngx_http_upstream_ssl_init_connection(ngx_http_request_t *r, rc = ngx_ssl_handshake(c); if (rc == NGX_AGAIN) { + + if (!c->write->timer_set) { + ngx_add_timer(c->write, u->conf->connect_timeout); + } + c->ssl->handler = ngx_http_upstream_ssl_handshake; return; } |
