Mercurial > hg > nginx-quic
comparison src/stream/ngx_stream_proxy_module.c @ 7371:8b68d50090e4
Upstream: proxy_socket_keepalive and friends.
The directives enable the use of the SO_KEEPALIVE option on
upstream connections. By default, the value is left unchanged.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 03 Oct 2018 14:08:51 +0300 |
parents | 696df3ac27ac |
children | 04ff25798002 |
comparison
equal
deleted
inserted
replaced
7370:aa1c9f846567 | 7371:8b68d50090e4 |
---|---|
29 ngx_uint_t responses; | 29 ngx_uint_t responses; |
30 ngx_uint_t next_upstream_tries; | 30 ngx_uint_t next_upstream_tries; |
31 ngx_flag_t next_upstream; | 31 ngx_flag_t next_upstream; |
32 ngx_flag_t proxy_protocol; | 32 ngx_flag_t proxy_protocol; |
33 ngx_stream_upstream_local_t *local; | 33 ngx_stream_upstream_local_t *local; |
34 ngx_flag_t socket_keepalive; | |
34 | 35 |
35 #if (NGX_STREAM_SSL) | 36 #if (NGX_STREAM_SSL) |
36 ngx_flag_t ssl_enable; | 37 ngx_flag_t ssl_enable; |
37 ngx_flag_t ssl_session_reuse; | 38 ngx_flag_t ssl_session_reuse; |
38 ngx_uint_t ssl_protocols; | 39 ngx_uint_t ssl_protocols; |
134 ngx_stream_proxy_bind, | 135 ngx_stream_proxy_bind, |
135 NGX_STREAM_SRV_CONF_OFFSET, | 136 NGX_STREAM_SRV_CONF_OFFSET, |
136 0, | 137 0, |
137 NULL }, | 138 NULL }, |
138 | 139 |
140 { ngx_string("proxy_socket_keepalive"), | |
141 NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_FLAG, | |
142 ngx_conf_set_flag_slot, | |
143 NGX_STREAM_SRV_CONF_OFFSET, | |
144 offsetof(ngx_stream_proxy_srv_conf_t, socket_keepalive), | |
145 NULL }, | |
146 | |
139 { ngx_string("proxy_connect_timeout"), | 147 { ngx_string("proxy_connect_timeout"), |
140 NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1, | 148 NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1, |
141 ngx_conf_set_msec_slot, | 149 ngx_conf_set_msec_slot, |
142 NGX_STREAM_SRV_CONF_OFFSET, | 150 NGX_STREAM_SRV_CONF_OFFSET, |
143 offsetof(ngx_stream_proxy_srv_conf_t, connect_timeout), | 151 offsetof(ngx_stream_proxy_srv_conf_t, connect_timeout), |
384 u->peer.log_error = NGX_ERROR_ERR; | 392 u->peer.log_error = NGX_ERROR_ERR; |
385 | 393 |
386 if (ngx_stream_proxy_set_local(s, u, pscf->local) != NGX_OK) { | 394 if (ngx_stream_proxy_set_local(s, u, pscf->local) != NGX_OK) { |
387 ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); | 395 ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); |
388 return; | 396 return; |
397 } | |
398 | |
399 if (pscf->socket_keepalive) { | |
400 u->peer.so_keepalive = 1; | |
389 } | 401 } |
390 | 402 |
391 u->peer.type = c->type; | 403 u->peer.type = c->type; |
392 u->start_sec = ngx_time(); | 404 u->start_sec = ngx_time(); |
393 | 405 |
1896 conf->responses = NGX_CONF_UNSET_UINT; | 1908 conf->responses = NGX_CONF_UNSET_UINT; |
1897 conf->next_upstream_tries = NGX_CONF_UNSET_UINT; | 1909 conf->next_upstream_tries = NGX_CONF_UNSET_UINT; |
1898 conf->next_upstream = NGX_CONF_UNSET; | 1910 conf->next_upstream = NGX_CONF_UNSET; |
1899 conf->proxy_protocol = NGX_CONF_UNSET; | 1911 conf->proxy_protocol = NGX_CONF_UNSET; |
1900 conf->local = NGX_CONF_UNSET_PTR; | 1912 conf->local = NGX_CONF_UNSET_PTR; |
1913 conf->socket_keepalive = NGX_CONF_UNSET; | |
1901 | 1914 |
1902 #if (NGX_STREAM_SSL) | 1915 #if (NGX_STREAM_SSL) |
1903 conf->ssl_enable = NGX_CONF_UNSET; | 1916 conf->ssl_enable = NGX_CONF_UNSET; |
1904 conf->ssl_session_reuse = NGX_CONF_UNSET; | 1917 conf->ssl_session_reuse = NGX_CONF_UNSET; |
1905 conf->ssl_server_name = NGX_CONF_UNSET; | 1918 conf->ssl_server_name = NGX_CONF_UNSET; |
1945 ngx_conf_merge_value(conf->next_upstream, prev->next_upstream, 1); | 1958 ngx_conf_merge_value(conf->next_upstream, prev->next_upstream, 1); |
1946 | 1959 |
1947 ngx_conf_merge_value(conf->proxy_protocol, prev->proxy_protocol, 0); | 1960 ngx_conf_merge_value(conf->proxy_protocol, prev->proxy_protocol, 0); |
1948 | 1961 |
1949 ngx_conf_merge_ptr_value(conf->local, prev->local, NULL); | 1962 ngx_conf_merge_ptr_value(conf->local, prev->local, NULL); |
1963 | |
1964 ngx_conf_merge_value(conf->socket_keepalive, | |
1965 prev->socket_keepalive, 0); | |
1950 | 1966 |
1951 #if (NGX_STREAM_SSL) | 1967 #if (NGX_STREAM_SSL) |
1952 | 1968 |
1953 ngx_conf_merge_value(conf->ssl_enable, prev->ssl_enable, 0); | 1969 ngx_conf_merge_value(conf->ssl_enable, prev->ssl_enable, 0); |
1954 | 1970 |