宝塔新春特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

【已解答】Nginx两次提交post过快就会出现499的情况

发表在 Linux面板2023-11-15 16:06 [复制链接] 2 2217

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:Linux正式版  8.0.3
系统版本:Rocky 8.7 (Green Obsidian) x86_64(Py3.7.16)
问题描述:Nginx两次提交post过快就会出现499的情况,运行环境:Nginx 1.22.1 + php7.4
相关截图(日志、错误):

183.159.176.225 - - [15/Nov/2023:15:58:54 +0800] "POST /admin/files/uploadFile HTTP/1.1" 499 0 "http://www.ttdxxx.com/admin/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
183.159.176.225 - - [15/Nov/2023:15:58:54 +0800] "POST /admin/files/uploadFile HTTP/1.1" 499 0 "http://www.ttdxxx.com/admin/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
使用道具 举报 只看该作者 回复
发表于 2023-11-15 16:15:33 | 显示全部楼层
您好,499并非是Nginxhttp协议中定义的Status Code状态码,是Nginx自己定义的一个状态码,为了说明是客户端关闭请求连接的场景下,返回的特征码
ngx_null_string,                     /* 499, client has closed connection */
引起的原因:
1、客户端主动关闭了连接,如客户端请求服务端时,服务端响应慢,客户端等待时间过长,主动关闭了连接
2、客户端请求过快,触发 Nginx的保护机制,直接返回499状态码。这个常见于Nginx做负载、反代场景下
3、证书错误的情况下,也会有499的状态码
解决方案:
1、针对客户端主动关闭请求的,可以忽略,也可以排查下是否有慢sql、慢php解析等
2、客户端请求过快的话,可以使用限流功能来防止某个IP在阈值内请求过多

使用道具 举报 回复 支持 反对
发表于 2023-11-15 16:42:59 | 显示全部楼层
本帖最后由 迷途小生 于 2023-11-15 16:45 编辑
大炮运维V587 发表于 2023-11-15 16:15
您好,499并非是Nginxhttp协议中定义的Status Code状态码,是Nginx自己定义的一个状态码,为了说明是客户端 ...

场景是批量上传执行批量POST请求导致,本地环境使用phpstudy,Nginx1.15+php7.4,执行批量上传是正常的,线上环境就报499
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表