Categories: 编程

如何解决NGINX超时– Http 499个客户端关闭请求

Nginx中的HTTP 499意味着客户端在服务器响应请求之前关闭了连接, 这种情况通常是由客户端超时或者主动关闭连接引起的。499是Nginx特定的错误代码。

实际上,真正的问题是nginx和uwsgi之间的通信,而不是浏览器和nginx之间的通信。如果将网站加载到浏览器中并且等待了足够长的时间,我将获得“ 504-错误的网关”。但是花了这么长时间,我一直在尝试一些东西,然后在浏览器中刷新。因此,我从来没有等待足够长的时间才能看到504错误。在浏览器中刷新时,即关闭前一个请求时,Nginx在日志中将其写为499。

当HTTP返回499时,nginx创建的连接中止。但是通常这是由于您的后端服务器太慢而导致的,并且另一个代理首先超时或用户软件中止连接。因此,请检查uWSGI是否正在快速响应,或者uWSGI /数据库服务器上是否有负载。

nginx log

xx.xx.xx.xx - - [30/Oct/2014:13:23:40 +0000] "POST /some/calls/object HTTP/1.1" 499 0 "-" "curl/7.27.0"
xx.xx.xx.xx - - [30/Oct/2014:13:23:40 +0000] "POST /some/calls/object HTTP/1.1" 499 0 "-" "curl/7.27.0"

解决方法

  1. 定位响应过慢的节点,应用程序->缓存->数据库-服务器,具体到问题的原因进行优化。
  2. 对这种499问题进行监控,当发现出现大量的499问题发报警通知。
5.0
03
数据结构之哈希表hashtable
PHP常量类型
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Share
Published by
嘻嘻

Recent Posts

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

5小时 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

6小时 ago

Bash Case详解

Bash case 语句通常用…

6小时 ago

Bash for详解

for循环是编程语言中的基础概…

6小时 ago

liunux中你必须知道alias命令?

在Linux操作系统中,无论你…

1天 ago

zshrc文件详解

Zsh 是一个强大的 shel…

2天 ago