Nginx自定义状态码499出现原因

news/2024/9/24 4:59:42/

499状态码定义

维基百科的定义

499 Client Closed Request (Nginx)
Used in Nginx logs to indicate when the connection has been closed by client while the server is still processing itsrequest, making server unable to send a status code back

499状态码是nginx自定义的状态码,不是标准的状态码,在官网的定义是Client Closed Request,也即客户端关闭了请求连接,原因大部分是因为接口响应太久了,客户端设置了超时时间,直接关闭了请求连接。原因可能是网络网速问题,也有可能是后端接口响应太慢了

处理方法

  • 可能是客户端设置的超时时间太短了,这种情况可以检查客户端设置的超时时间,改长一点即可
  • 优化后端接口代码,提高接口能支持的并发数和响应速度
  • 如果是频繁的post请求,nginx会认为不安全,这种情况会直接返回499状态码,保护系统安全

如果系统需要记录后端响应日志,可以设置proxy_ignore_client_abort参数设置为on,开启后,后端接口超过了客户端的响应时间,后端接口会继续执行,日志也会记录到nginx里,不过这种做法会在一定程度上造成nginx的资源使用,需要根据实践情况使用,如果为了系统安全,建议还是不开启

location =/api { proxy_ignore_client_abort   on; proxy_pass  http://web.server.com;
} 

proxy_ignore_client_abort参数设置为on后,如果客户端断开连接,nginx也不会断开与后端服务端的连接,会等待后端服务器接口的返回,然后记录到日志,如果是返回5xx,就记录5xx状态码日志,返回200成功,就记录200状态码的日志,如果超过了响应时间,默认60s,可以用 proxy_read_timeout 设置,就记录504状态码的日志


http://www.ppmy.cn/news/1445106.html

相关文章

InternVL——GPT-4V 的开源替代方案

您的浏览器不支持 video 标签。 在人工智能领域,InternVL 无疑是一颗耀眼的新星。它被认为是最接近 GPT-4V 表现的可商用开源模型,为我们带来了许多惊喜。 InternVL 具备强大的功能,不仅能够处理图像和文本数据,还能精妙地理解…

Llama3 mac本地部署教程

1.下载的软件清单: ollama下载: Download Ollama on macOS nodejs下载: Node.js — Download Node.js 2.安装 安装Ollama 下载之后打开,直接点击Next以及Install安装ollama到命令行。安装完成后界面上会提示ollama run llam…

拆单算法交易(Algorithmic Trading)

TWAP TWAP交易时间加权平均价格Time Weighted Average Price 模型,是把一个母单的数量平均地分配到一个交易时段上。该模型将交易时间进行均匀分割,并在每个分割节点上将拆分的订单进行提交。例如,可以将某个交易日的交易时间平均分为N 段&am…

前端请求没问题,后端正常运行,但查不出数据

写代码时写得快了些,Orders.的订单状态写错了CONFIRMED 改成COMPLETED

Jammy@Jetson Orin Nano - Tensorflow GPU版本安装

JammyJetson Orin Nano - Tensorflow GPU版本安装 1. 源由2. 问题3. 分析3.1 当前版本Tensorflow 2.16.13.2 GPU版本二进制安装3.3 GPU版本源代码安装3.3.1 问题1 ERROR: no such target //tensorflow/tools/pip_package:wheel3.3.2 问题2 fatal error: cstddef file not found…

Zynq 7000 系列之启动模式—NAND启动

NAND启动是一种使用NAND闪存进行设备启动的方式。NAND闪存是一种非易失性存储设备,广泛用于嵌入式系统、计算机和其他电子设备中。由于NAND闪存具有高速读写和较高的存储密度等特点,使得NAND启动成为了一种高效且常用的启动方式。 1 特点 NAND启动具有…

Java List 获取部分组成new list,获取两个list相同/不同的内容

获取List中的一项 List<String> _outingCntry list.stream().map(OSzItem::getGroup). collect(Collectors.toList()); 获取List中的多项 List<vo> list new ArrayList<>(); Map<String, String> map list.stream().collect( Collectors.toMap(v…

密文域可逆信息隐藏技术综述(上)

加密图像可逆信息隐藏是一种加密原始图像后&#xff0c;在密文图像中可逆地隐藏附加数据&#xff0c;并且在数据提取后&#xff0c;原始图像可以被无损重建的技术。RDH-EI的分类如图1所示。 按对图像的加密方法&#xff0c;现有RDH-EI算法可分为对称加密域和非对称(公钥)加密域…