[转帖]Nginx报错404,由于请求处理时间过长

nginx,报错,由于,请求,处理,时间,过长 · 浏览次数 : 0

小编点评

**Nginx代理请求超时时间配置** ```nginx proxy_connect_timeout 90; proxy_read_timeout 180; proxy_send_timeout 180; ``` **具体参数解释:** * `proxy_connect_timeout`:从客户端到服务器的连接超时时间。默认值为30秒。 * `proxy_read_timeout`:从服务器端到客户端的读取超时时间。默认值为180秒。 * `proxy_send_timeout`:从服务器端到客户端的数据传输超时时间。默认值为180秒。 **修改步骤:** 1. 启动docker容器,使用`docker run`命令运行Nginx。 2. 修改Nginx配置文件的`proxy_connect_timeout`、`proxy_read_timeout`和`proxy_send_timeout`参数。 3. 保存配置文件并重启Nginx容器。 **注意:** * `proxy_connect_timeout`、`proxy_read_timeout`和`proxy_send_timeout`的单位都是秒。 * `proxy_connect_timeout`和`proxy_read_timeout`的默认值通常已设置到30秒和180秒。 * `proxy_send_timeout`的默认值通常设置为180秒。

正文

问题复现

近期部门内部有一个应用由于数据量过于庞大,或者说sql优化性能问题,导致查询全量数据时老报错nginx404,后来查看浏览器timing信息,发现其竟然时常达到可怕的2分钟十秒,抛去解决sql优化问题,这里从Nginx端的配置来说如何解决这类问题!
在这里插入图片描述

存在的问题

服务器处理请求时间过长,导致超出Nginx配置的代理请求超时时间,其会报错404!

解决方式

修改Nginx配置的代理请求时间(或者优化sql!!!)

具体解决步骤

  1. 找到对应Nginx的配置文件
    我是用docker部署的Nginx,读者找到自己对应的Nginx.conf文件
    在这里插入图片描述
  2. 修改代理超时时间
    下图三个参数为代理连接超时时间、代理读取超时时间、代理传送超时时间。读者可根据需要去修改参数在这里插入图片描述参数详解:
proxy_connect_timeout 90; 
后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_read_timeout 180;
连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_send_timeout 180;
后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
    1. 重启Nginx
      我是使用docker部署的Nginx,直接使用命令docker + restart +nginx容器名
      一定要重启Nginx!!!不然配置不会生效的!!
    文章知识点与官方知识档案匹配,可进一步学习相关知识
    云原生入门技能树首页概览8056 人正在系统学习中

    与[转帖]Nginx报错404,由于请求处理时间过长相似的内容:

    [转帖]Nginx报错404,由于请求处理时间过长

    问题复现 近期部门内部有一个应用由于数据量过于庞大,或者说sql优化性能问题,导致查询全量数据时老报错nginx404,后来查看浏览器timing信息,发现其竟然时常达到可怕的2分钟十秒,抛去解决sql优化问题,这里从Nginx端的配置来说如何解决这类问题! 存在的问题 服务器处理请求时间过长,导致

    [转帖]ingress nginx遇到502错误,(113 No route to host) while connecting to upstream

    https://www.cnblogs.com/lizexiong/p/15358967.html 1.背景 首先谈一下背景环境,出现文章标题的出错是公司的tke(腾讯云k8s,当然问题和腾讯云k8s集群没有关系),首先分为dev集群环境和生产集群环境,出现问题是在很早期创建的dev环境。 问题报错

    [转帖]ingress nginx遇到502错误,(113 No route to host) while connecting to upstream

    https://www.cnblogs.com/lizexiong/p/15358967.html 1.背景 首先谈一下背景环境,出现文章标题的出错是公司的tke(腾讯云k8s,当然问题和腾讯云k8s集群没有关系),首先分为dev集群环境和生产集群环境,出现问题是在很早期创建的dev环境。 问题报错

    [转帖]总结:nginx502:Tomcat调优之acceptCount

    问题背景:UI页面点击会偶尔返回error,检查调用日志,发现nginx报502报错,因此本文即排查502报错原因。 如下红框可知,访问本机个备机的服务502了,用时3秒左右(可见并不是超时) 先给出原因:是因为tomcat8默认的acceptCount是100,请求量大的时候,会将一些来不及处理的

    [转帖]Nginx(四)负载均衡

    一 nginx目录的说明 1 nginx/ 3 |-- client_body_temp 4 |-- conf #这是Nginx所有配置文件的目录,极其重要 5 | |-- fastcgi.conf 'fastcgi相关参数的配置文件' 6 | |-- fastcgi.conf.default #f

    [转帖]nginx限速

    https://www.cnblogs.com/fengzi7314/p/16541440.html 第一步,先创建限制的规则,我这里直接在nginx默认的配置文件目录下配置,如果想自定义,需要在主配置文件添加include xx/xxx/xxx/*.conf配置 [root@node5 nginx

    [转帖]Nginx支持WebSocket反向代理

    https://www.cnblogs.com/zhengchunyuan/p/12923692.html WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类

    [转帖]Nginx内置变量以及日志格式变量参数详解

    补充 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$reques

    [转帖]nginx proxy_pass keepalive

    Syntax: keepalive connections; Default: — Context: upstream This directive appeared in version 1.1.4. Activates the cache for connections to upstream

    [转帖]Nginx超时timeout 设置

    Nginx 超时配置,连接时间过长直接关闭连接,显示timeout http { #每个 TCP 连接最多可以保持多长时间 keepalive_timeout 60; #客户端向服务端发送一个完整的 request header client_header_timeout 10; #客户端发送服务端