搜索
首页运维linux运维比较讲解HTTP中499状态码和nginx下499错误

    日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499、发送字节数是0。

    老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左右(全部报错见下图),那么所有报错加起来就要超过1%了,这个量还是特别大的。

    499错误是什么?让我们看看NGINX的源码中的定义:

ngx_string(ngx_http_error_495_page), /* 495, https certificate error */

ngx_string(ngx_http_error_496_page), /* 496, https no certificate */

ngx_string(ngx_http_error_497_page), /* 497, http to https */

ngx_string(ngx_http_error_404_page), /* 498, canceled */

ngx_null_string,                    /* 499, client has closed connection */

    可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。

    Nginx 499错误的原因及解决方法

    打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。

    但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.

    但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法:

proxy_ignore_client_abort on;

Don’t know if this is safe.

    就是说要配置参数 proxy_ignore_client_abort on;

    表示代理服务端不要主要主动关闭客户端连接。

    以此配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。

    还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决 默认测试环境才开5个子进程。

以上是比较讲解HTTP中499状态码和nginx下499错误的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Debian回收旧版本的方法Debian回收旧版本的方法Apr 13, 2025 am 09:12 AM

本文介绍如何有效清理Debian系统中的旧版本软件和内核,释放磁盘空间并提高系统性能。操作前请务必备份重要数据。一、清除无用软件包使用apt命令行工具可以轻松删除不再需要的软件包及其依赖项:打开终端。执行sudoapt-getautoremove命令自动删除已安装软件包的冗余依赖项。使用sudoapt-getpurge命令删除指定软件包及其配置文件。例如,删除firefox及其配置文件,执行sudoapt-getpurgefirefox。

如何利用Nginx日志提升网站速度如何利用Nginx日志提升网站速度Apr 13, 2025 am 09:09 AM

网站性能优化离不开对访问日志的深入分析。Nginx日志记录了用户访问网站的详细信息,巧妙利用这些数据,可以有效提升网站速度。本文将介绍几种基于Nginx日志的网站性能优化方法。一、用户行为分析与优化通过分析Nginx日志,我们可以深入了解用户行为,并据此进行针对性优化:高频访问IP识别:找出访问频率最高的IP地址,针对这些IP地址优化服务器资源配置,例如增加带宽或提升特定内容的响应速度。状态码分析:分析不同HTTP状态码(例如404错误)出现的频率,找出网站导航或内容管理中的问题,并进

debian readdir如何实现文件排序debian readdir如何实现文件排序Apr 13, 2025 am 09:06 AM

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

debian readdir如何支持远程文件系统debian readdir如何支持远程文件系统Apr 13, 2025 am 09:03 AM

在Debian系统中,readdir函数用于读取目录内容。要使其支持远程文件系统,需确保远程文件系统已正确挂载到本地。以下步骤详细说明如何实现:一、选择合适的协议:选择合适的远程文件系统协议至关重要,例如NFS、Samba、FTP、SSHFS等。不同协议的配置方法差异较大。二、安装必要软件包:根据所选协议,安装相应的软件包。例如,NFS需要nfs-common或nfs-kernel-server;Samba需要samba;SSHFS需要fuse和sshfs。使用apt-getinst

debian readdir的兼容性如何debian readdir的兼容性如何Apr 13, 2025 am 09:00 AM

readdir函数是Linux系统中用于读取目录内容的标准工具,在Debian及大多数Linux发行版中均可用。作为稳定且广泛使用的发行版,Debian的readdir函数通常具有良好的兼容性,能与标准C库(例如glibc)及其他Linux工具无缝集成。Debian的更新日志和安全公告中鲜有提及readdir函数的兼容性问题。例如,Debian12.10的更新主要集中在安全性和稳定性改进,这些更新一般不会影响readdir等核心系统工具的兼容性。如果您在

Debian下Tomcat日志配置在哪Debian下Tomcat日志配置在哪Apr 13, 2025 am 08:57 AM

本文介绍如何在Debian系统中配置Tomcat日志。Tomcat日志配置文件通常位于/path/to/tomcat/conf/logging.properties。通过修改此文件,您可以自定义日志级别、格式和输出位置。日志文件存放位置Tomcat日志文件默认存储在$CATALINA_BASE/logs目录下。$CATALINA_BASE指的是Tomcat的安装根目录,如果未指定,则与$CATALINA_HOME(Tomcat安装目录)相同。常用Linux命令查看Tomcat日志以下是一些常

Debian如何清理回收站文件Debian如何清理回收站文件Apr 13, 2025 am 08:54 AM

本文介绍三种在Debian系统中清空回收站的方法,选择最适合您的方式即可。方法一:图形界面(GUI)对于使用图形界面的Debian用户(例如GNOME或KDE),清理回收站非常简单:打开文件管理器:点击桌面上的文件管理器图标(通常是一个文件夹),或使用快捷键Ctrl E。找到回收站:在文件管理器中找到并点击“回收站”或“垃圾桶”图标。清空回收站:在回收站窗口中,点击“清空回收站”或类似的按钮,确认操作即可。方法二:命令行界面(CLI)如果您更熟悉命令行,可以使用终端进行

Debian如何回收不再使用的包Debian如何回收不再使用的包Apr 13, 2025 am 08:51 AM

本文介绍如何在Debian系统中清理无用软件包,释放磁盘空间。第一步:更新软件包列表确保你的软件包列表是最新的:sudoaptupdate第二步:查看已安装的软件包使用以下命令查看所有已安装的软件包:dpkg--get-selections|grep-vdeinstall第三步:识别冗余软件包利用aptitude工具查找不再需要的软件包。aptitude会提供建议,帮助你安全地删除软件包:sudoaptitudesearch'~pimportant'此命令列出标记

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具