使用Nginx做反向代理超时的问题

2023-11-18

使用Nginx做反向代理时,当被代理服务器没有在指定时间内创建连接、接受请求或返回响应时,Nginx就会断开连接,并返回给客户端“504 Gateway Time-out”错误。

关于Nginx做反向代理超时,可以通过proxy_connect_timeout、proxy_send_timeout和proxy_read_timeout配置解决。Nginx中默认设置都是60s。

三种配置描述

Syntax:    proxy_connect_timeout time;

Default: proxy_connect_timeout 60s;

Context:          http, server, location

定义与被代理服务器建立连接的超时。应该注意,这个超时通常不能超过75秒。

 

Syntax:    proxy_send_timeout time;

Default: proxy_send_timeout 60s;

Context:          http, server, location

设置向被代理服务器传输请求的超时。超时仅在两个连续的写操作之间设置,而不用于传输整个请求。如果代理服务器在此期间没有接收到任何内容,则关闭连接。

 

Syntax:    proxy_read_timeout time;

Default: proxy_read_timeout 60s;

Context:          http, server, location

定义从被代理服务器读取响应的超时。超时仅在两个连续的读取操作之间设置,而不用于传输整个响应。如果代理服务器在此期间没有传输任何内容,则关闭连接。

 

如果是因为被代理服务器中实现的逻辑复杂,需要较长的时间才能返回结果,则通过设置proxy_read_timeout为较大的值来解决。

完整配置示例

location / {

    proxy_pass  http://erp;

    proxy_set_header Host      $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_read_timeout 120s;

}

注意:

使用Nginx做反向代理时, Nginx会指定的种情况下将请求传递到下一个服务器,也就是说如果被代理的服务器有多台的情况下,当一个被代理服务器请求超时的情况下,Nginx会将请求传递到下一个服务器。

假设设置proxy_read_timeout 120s;被代理的服务器为两台,那么当一台被服务器超时,Nginx会将请求转发到下一台服务器来获取请求结果。也就是说Nginx最多会等待240S,而不是120S。当等待240S之后还是无响应,Nginx断开请求,返回给客户端“504 Gateway Time-out”

详见“proxy_next_upstream”配置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Nginx做反向代理超时的问题 的相关文章

随机推荐

  • Linux Redis-v6.2.7的安装与配置

    Redis v6 2 7的安装与配置 官网下载页地址 1 下载 解压 编译安装 wget https download redis io releases redis 6 2 7 tar gz cp redis 6 2 7 tar gz u
  • localhost: Error: JAVA_HOME is not set. [Hadoop] Error: JAVA_HOME is not set

    localhost Error JAVA HOME is not set 在namenode启动脚本 Hadoop HOME bin start dfs sh的时候发现datanode报错 Error JAVA HOME is not se
  • 非确定性算法_近似算法

    晓强Deep Learning的读书分享会 先从这里开始 从大学开始 大家好 我是晓强 计算机科学与技术专业研究生在读 我会不定时的更新我的文章 内容可能包括深度学习入门知识 具体包括CV NLP方向的基础知识和学习的论文 网络表征学习的相
  • Pycharm无法正常安装第三方库的时候,有以下几条应对方法

    1 首先检查自己的环境变量是否配置正确 点击setting 点击 Python Interpreter 点击Add Interpreter 找到这个界面 点击右方三个点 然后选择正确的python安装位置 点击OK 配置完毕之后再试一次从这
  • android轮播图实现方案,Android轮播图实现教程

    ListView的headerView设置为轮播图之后结合上 下拉刷新 加载的模式成为现在大多数APP的一个必须具备的功能 对于许多初学者来说想要实现轮播图这样一个集线程睡眠 自动处理 替换过程中刷新UI界面的组合功能非常困难 没有思路 感
  • 实验吧 web题--代码审计类

    一 因缺思汀的绕过 1 web题常规套路就是查看源代码 于是右击查看源代码发现 br 构造url http ctf5 shiyanbar com web pcat source txt 查看php代码 2 关键php代码 if mysql
  • [HashMap源码学习之路]---put方法中的hash方法介绍

    HashMap中的put方法中的hash方法 以下是put方法的代码 public V put K key V value return putVal hash key key value false true 当我第一次看到这个地方的时候
  • 2022年,能让你月入过万的5个副业,不信试试

    2021年已经过去了 不管过去的一年 是成功还是失败 一切都过去了 新的一年要开始做新的规划 当务之急 搞钱最为重要 01 自媒体写作 以前我总是觉得会写文章不算什么技能 工作之后才发现 文字功底好优势好大 无论是工作还是做副业 发现会写文
  • 10.29奇偶交换排序

    奇偶交换排序如下所述 第一趟对所有奇数i 将a i 和a i 1 进行比较 第二趟对所有的偶数i 将a i 和a i 1 进行比较 若a i gt a i 1 则将两者交换 第三趟对奇数i 第四趟对偶数i 依次类推直至整个序列有序为止 in
  • Flask 学着用模板 render_template

    上一章节是做到了在本地浏览器上打印出hello world 如果你要更加复杂 可以像下面一样在return结果里添加内容 但是 简单的几句话你可以这么写 要是整的一个网页 你可没法把代码都拖在return后面吧 所以 后面引入了模板功能 模
  • 抽象函数(Java)

    我们现在深入理解一下抽象数据类型背后的理论 这些理论不仅本身很有趣 它们在ADT的设计与实现中也很有意义 如果你能够很好的理解它们 你将会设计出更好的抽象类型 并且远离那些隐晦的陷阱 在研究抽象类型的时候 先思考一下两个值域之间的关系 表示
  • console错误合集

    handlers i call is not a function 从报错的handlers i call 入手查找原因 这个错误是 调用相关的生命周期钩子函数引起来的错误 查看你的页面相关 生命周期钩子函数 是否有 声明了未定义方法 或是
  • 程序员的小浪漫----烟火

    多代码 慎读 预览 完整项目预览 预览地址 属性设计 烟花状态 烟花应有三个状态 升空 等待炸裂 炸裂后 烟花 发射点 x y 爆炸点 xEnd yEnd 升空后等待炸裂时间 wait 炸裂后微粒个数 count 烟花半径 radius 烟
  • 数据产品经理基础之写好报表需求文档

    今天业务部门向我提了个需求 想要在BI上实现一份日报表 并提供了一份日报表的excel文档样例 我为了 敏捷开发 没写需求文档 直接把excel扔给了开发 结果就导致一系列后遗症 首先是开发在写sql的过程频繁确认需求 xxx字段是什么意思
  • 白盒测试相关的一些知识

    在白盒测试中 可以使用各种测试方法进行测试 下面这篇文章 可能比较枯燥 如果不乐意读 可以先收藏 如果在你的工作中真遇到白盒测试的话 可以回过头再来看看 还是值得读一读 一般来说 白盒测试时要考虑以下5个问题 1 测试中尽量先用自动化工具来
  • 数据结构之链表与线性表

    数据结构之链表与线性表 线性表 顺序线性表 顺序表 顺序线性表 使用数组实现 一组地址连续的存储单元 数组大小有两种方式指定 一是静态分配 二是动态扩展 优点 随机访问特性 查找O 1 时间 存储密度高 逻辑上相邻的元素 物理上也相邻 缺点
  • JVM面试FAQ分析

    JVM面试FAQ分析 1 入门部分 1 1为什么要学习JVM 1 2 你了解哪些JVM产品 1 3 JVM的构成有哪几部分 2 类加载部分 2 1 你知道哪些类加载器 2 2 什么是双亲委派类加载模型 2 3 双亲委派方式加载类有什么优势
  • AdaBoost算法

    参考 https www bilibili com video BV1ix411i7yp p 26 机器学习技法 之 聚合模型 Aggregation Model 士杰的博客 CSDN博客 聚合模型
  • Java当中解析ini文件对应到JavaBean当中

    目录 1 ini文件简介 2 ini文件 3 ini解析工具类 4 示例运行结果 1 ini文件简介 ini 文件是Initialization File的缩写 即初始化文件 是windows的系统配置文件所采用的存储格式 统管window
  • 使用Nginx做反向代理超时的问题

    使用Nginx做反向代理时 当被代理服务器没有在指定时间内创建连接 接受请求或返回响应时 Nginx就会断开连接 并返回给客户端 504 Gateway Time out 错误 关于Nginx做反向代理超时 可以通过proxy connec