写在前

说来你们可能不信,昨天一个乙方系统的同学发了这么个需求来找我帮忙配……What?!😱😱😱

对于上述需求不予评价,但就这个事来说我觉得我有必要整理下Nginx相关配置的东西了……一是防止自己闹出这种笑话;二也是因为岁数大了记性差了,还是写点东西备查吧。

从一堆timeout说起

proxy_connect_timeout

Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout

这个参数定义的是Nginx与后端服务器(“proxied server”,被代理的服务器)建立连接的超时时间,一般不应大于75s。

proxy_read_timeout

Syntax: proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location
官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout

这个参数定义的是Nginx读后端服务器(“proxied server”,被代理的服务器)响应包的超时时间(需要注意的是这个时间指的是两次成功读取造作的间隔时间而不是读取完整响应包的总时间)。超过这个时间没有收到后端服务器传送数据的话连接就会超时断开。

PS:该值过小可能会导致504的情况出现,如不想遇到可以将此值改为略大于后端服务器响应超时的时间。

proxy_send_timeout

Syntax: proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location
官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout

这个参数定义的是Nginx给后端服务器(“proxied server”,被代理的服务器)发送请求包的超时时间(需要注意的是这个时间指的是两次成功写取造作的间隔时间而不是发送完整请求包的总时间)。超过这个时间没有发送数据给后端服务器的话连接就会超时断开。

(未完待续)

 

点击数:600