Latest update - 7371
This commit is contained in:
@@ -286,6 +286,13 @@ static ngx_command_t ngx_http_fastcgi_commands[] = {
|
||||
offsetof(ngx_http_fastcgi_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("fastcgi_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_fastcgi_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("fastcgi_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -2721,6 +2728,7 @@ ngx_http_fastcgi_create_loc_conf(ngx_conf_t *cf)
|
||||
conf->upstream.force_ranges = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -2824,6 +2832,9 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_msec_value(conf->upstream.connect_timeout,
|
||||
prev->upstream.connect_timeout, 60000);
|
||||
|
||||
|
||||
@@ -248,6 +248,13 @@ static ngx_command_t ngx_http_grpc_commands[] = {
|
||||
offsetof(ngx_http_grpc_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("grpc_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_grpc_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("grpc_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -4150,6 +4157,7 @@ ngx_http_grpc_create_loc_conf(ngx_conf_t *cf)
|
||||
*/
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
conf->upstream.next_upstream_tries = NGX_CONF_UNSET_UINT;
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -4205,6 +4213,9 @@ ngx_http_grpc_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_uint_value(conf->upstream.next_upstream_tries,
|
||||
prev->upstream.next_upstream_tries, 0);
|
||||
|
||||
|
||||
@@ -67,6 +67,13 @@ static ngx_command_t ngx_http_memcached_commands[] = {
|
||||
offsetof(ngx_http_memcached_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("memcached_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_memcached_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("memcached_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -595,6 +602,7 @@ ngx_http_memcached_create_loc_conf(ngx_conf_t *cf)
|
||||
*/
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
conf->upstream.next_upstream_tries = NGX_CONF_UNSET_UINT;
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -634,6 +642,9 @@ ngx_http_memcached_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_uint_value(conf->upstream.next_upstream_tries,
|
||||
prev->upstream.next_upstream_tries, 0);
|
||||
|
||||
|
||||
@@ -324,6 +324,13 @@ static ngx_command_t ngx_http_proxy_commands[] = {
|
||||
offsetof(ngx_http_proxy_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("proxy_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_proxy_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("proxy_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -2833,6 +2840,7 @@ ngx_http_proxy_create_loc_conf(ngx_conf_t *cf)
|
||||
conf->upstream.force_ranges = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -2953,6 +2961,9 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_msec_value(conf->upstream.connect_timeout,
|
||||
prev->upstream.connect_timeout, 60000);
|
||||
|
||||
|
||||
@@ -143,6 +143,13 @@ static ngx_command_t ngx_http_scgi_commands[] = {
|
||||
offsetof(ngx_http_scgi_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("scgi_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_scgi_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("scgi_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -1200,6 +1207,7 @@ ngx_http_scgi_create_loc_conf(ngx_conf_t *cf)
|
||||
conf->upstream.force_ranges = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -1298,6 +1306,9 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_msec_value(conf->upstream.connect_timeout,
|
||||
prev->upstream.connect_timeout, 60000);
|
||||
|
||||
|
||||
@@ -204,6 +204,13 @@ static ngx_command_t ngx_http_uwsgi_commands[] = {
|
||||
offsetof(ngx_http_uwsgi_loc_conf_t, upstream.local),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("uwsgi_socket_keepalive"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
|
||||
ngx_conf_set_flag_slot,
|
||||
NGX_HTTP_LOC_CONF_OFFSET,
|
||||
offsetof(ngx_http_uwsgi_loc_conf_t, upstream.socket_keepalive),
|
||||
NULL },
|
||||
|
||||
{ ngx_string("uwsgi_connect_timeout"),
|
||||
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
|
||||
ngx_conf_set_msec_slot,
|
||||
@@ -1413,6 +1420,7 @@ ngx_http_uwsgi_create_loc_conf(ngx_conf_t *cf)
|
||||
conf->upstream.force_ranges = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.local = NGX_CONF_UNSET_PTR;
|
||||
conf->upstream.socket_keepalive = NGX_CONF_UNSET;
|
||||
|
||||
conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
|
||||
conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
|
||||
@@ -1519,6 +1527,9 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
ngx_conf_merge_ptr_value(conf->upstream.local,
|
||||
prev->upstream.local, NULL);
|
||||
|
||||
ngx_conf_merge_value(conf->upstream.socket_keepalive,
|
||||
prev->upstream.socket_keepalive, 0);
|
||||
|
||||
ngx_conf_merge_msec_value(conf->upstream.connect_timeout,
|
||||
prev->upstream.connect_timeout, 60000);
|
||||
|
||||
|
||||
@@ -628,6 +628,10 @@ ngx_http_upstream_init_request(ngx_http_request_t *r)
|
||||
return;
|
||||
}
|
||||
|
||||
if (u->conf->socket_keepalive) {
|
||||
u->peer.so_keepalive = 1;
|
||||
}
|
||||
|
||||
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
|
||||
|
||||
u->output.alignment = clcf->directio_alignment;
|
||||
|
||||
@@ -188,6 +188,7 @@ typedef struct {
|
||||
ngx_array_t *pass_headers;
|
||||
|
||||
ngx_http_upstream_local_t *local;
|
||||
ngx_flag_t socket_keepalive;
|
||||
|
||||
#if (NGX_HTTP_CACHE)
|
||||
ngx_shm_zone_t *cache_zone;
|
||||
|
||||
Reference in New Issue
Block a user