nginx比较强大,可以针对单个域名请求做出单个连接超时的配置.

比如些动态解释和静态解释可以根据业务的需求配置

proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响应超时时间

proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)

proxy_send_timeout :后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

nginx使用proxy模块时,默认的读取超时时间是60s。

1、请求超时

http {include       mime.types;server_names_hash_bucket_size  512;     default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;  #保持tcp_nodelay on;client_header_timeout 15;client_body_timeout 15;send_timeout 25;include vhosts/*.conf;
}

2、后端服务器处理请求的时间设置(页面等待服务器响应时间)

location / {...proxy_read_timeout 150;  # 秒...}

nginx常用的超时配置说明

client_header_timeout

语法 client_header_timeout time
默认值 60s
上下文 http server
说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)

client_body_timeout 

语法 client_body_timeout time
默认值 60s
上下文 http server location
说明 该指令设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后,nginx返回HTTP状态码408(“Request timed out”)

keepalive_timeout 

语法 keepalive_timeout timeout [ header_timeout ]
默认值 75s
上下文 http server location
说明 第一个参数指定了与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。可选的第二个参数指定了在响应头Keep-Alive: timeout=time中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必要去关闭连接了。没有这个参数,nginx不会发送Keep-Alive响应头(尽管并不是由这个头来决定连接是否“keep-alive”)
两个参数的值可并不相同

  • 注意不同浏览器怎么处理“keep-alive”头
  • MSIE和Opera忽略掉"Keep-Alive: timeout=<N>" header.
  • MSIE保持连接大约60-65秒,然后发送TCP RST
  • Opera永久保持长连接
  • Mozilla keeps the connection alive for N plus about 1-10 seconds.
  • Konqueror保持长连接N秒

lingering_timeout

语法 lingering_timeout time
默认值 5s
上下文 http server location
说明 lingering_close生效后,在关闭连接前,会检测是否有用户发送的数据到达服务器,如果超过lingering_timeout时间后还没有数据可读,就直接关闭连接;否则,必须在读取完连接缓冲区上的数据并丢弃掉后才会关闭连接。

resolver_timeout

语法 resolver_timeout time 
默认值 30s
上下文 http server location
说明 该指令设置DNS解析超时时间

proxy_connect_timeout

语法 proxy_connect_timeout time 
默认值 60s
上下文 http server location
说明 该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒。
这个不是等待后端返回页面的时间,那是由proxy_read_timeout声明的。如果你的upstream服务器起来了,但是hanging住了(例如,没有足够的线程处理请求,所以把你的请求放到请求池里稍后处理),那么这个声明是没有用的,由于与upstream服务器的连接已经建立了。

proxy_read_timeout

语法 proxy_read_timeout time 
默认值 60s
上下文 http server location
说明 该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。

proxy_send_timeout

语法 proxy_send_timeout time 
默认值 60s
上下文 http server location
说明 这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接

proxy_upstream_fail_timeout(fail_timeout)

语法 server address [fail_timeout=30s]
默认值 10s
上下文 upstream
说明 Upstream模块下 server指令的参数,设置了某一个upstream后端失败了指定次数(max_fails)后,该后端不可操作的时间,默认为10秒

nginx中的timeout超时设置,请求超时、响应等待超时等相关推荐

  1. nginx中的超时设置,请求超时、响应等待超时等

    nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的需求配置 proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响 ...

  2. php session 超时设置,php如何使用session 超时设置?

    php使用session 超时设置的方法:1.设置[php.ini]配置文件,用[ini_set]函数改变当前上下文环境的属性值:2.设置Session时间戳,代码为[unset($_SESSION[ ...

  3. 代码没问题,请求无响应,超时

    有可能是数据库锁表的原因: 1.查看是否锁表:show OPEN TABLES where In_use > 0; 如果有数据,说明发生锁表现象 2.查进程,查找被锁表的那个进程的ID show ...

  4. php iis session 超时设置,如何配置IIS Session超时时间

    原来IIS为了保护服务器,有一个"回收"的概念!测试了半天终于有了点大体了解(不要笑我菜^-^).先来看看这个"回收"在哪设置. 启动IIS管理器->应用 ...

  5. php iis session 超时设置,如何配置IIS Session超时时间

    原来IIS为了保护服务器,有一个"回收"的概念!测试了半天终于有了点大体了解(不要笑我菜^-^).先来看看这个"回收"在哪设置. 启动IIS管理器->应用 ...

  6. java rmi接口 超时设置_Spring RMI客户端读超时设置 | 学步园

    标准Java的RMI设置我所知道的有三种方式,其中第1.2种不区分框架均适用,但影响整个JVM级别的RMI服务 1. 启动时设置sun.rmi.transport.tcp.responseTimeou ...

  7. oracle socket读取超时,设置套接字操作超时

    使用Socket()构造函数和connect(SocketAddress endpoint, int timeout)方法代替. 在您的情况下,它将类似于: Socket socket = new S ...

  8. ajax接口一直在重复调用请求是什么原因_为什么RPC超时设置非常重要

    上面这张监控图,对于服务端的研发同学来说再熟悉不过了.在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题. 尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结 ...

  9. C# 中使用TCP连接设置超时问题

    在使用C#中用TCP连接去扫描IP的过程中,发现,TCP连接没有可以设置连接超时的方法,如果扫描到空的IP或连接失败,那要等20多秒,甚至更长, 我们可以重新去用Thread的join这个带参数的线程 ...

  10. RPC的超时设置,一不小心就是线上事故

    来自:IT人的职场进阶 上面这张监控图,对于服务端的研发同学来说再熟悉不过了.在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题. 尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨 ...

最新文章

  1. C#中的委托和事件(续)
  2. 【ES6】异步操作和async函数
  3. SharePoint 2007 做Migration后用户处理
  4. 10%的IOS设备已经更新到版本5.1.1
  5. 用Python全自动播放尔雅网课
  6. HMC5883L手册总结与经验分析 详解
  7. 每天30分钟学python-每天 3 分钟,小闫带你学 Python(二十三)
  8. 神经网络学习笔记1——BP神经网络原理到编程实现(matlab,python)
  9. python 图片二值化后 判断图片是白底黑字,还是黑底白字
  10. 无法使用安全密码身份验证登录到服务器,使用安全密码验证登录(SPA)”后为什么登录失败...
  11. vue transition淡入淡出
  12. 梯度下降算法的解释及直观展示
  13. java中private作用_java中private什么意思
  14. 【初码干货】使用阿里云开放搜索服务快速搭建资源搜索网站
  15. chinaunix 内核源码分析精贴
  16. MATLAB采用双坐标轴同时绘制柱状图和折线图
  17. 如何一次性生成大量结构相同、内容不同的二维码
  18. 牛客网算法教程-中级篇-第一章
  19. java基于springboot+vue车辆违章信息管理系统
  20. 计算机网络报告书,河北工业大学计算机网络课程设计报告书

热门文章

  1. ERP软件信息化实施步骤
  2. 台式计算机开机风扇不转,台式机开机风扇转一下停一下
  3. [深度学习 - 实战项目] yoloV5人脸侦测arcFace人脸识别silentFace静态活体检测
  4. 百度地图秘钥未授权问题
  5. 说说PHP中的命名空间相关概念
  6. viser 饼图修改颜色
  7. 75.【JavaWeb-03】
  8. Java设计模式:单例模式的7种实现
  9. nas 微型计算机,快速做种,PT上传更方便 用NAS玩转PT
  10. DRM 驱动程序开发(VKMS)