Nginx的 HTTP 499 状态码处理

1、前言

今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示:

Nginx的 HTTP 499 状态码处理

2、处理方法

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发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.

在google上搜索到一英文论坛上有关于此错误的解决方法:
proxy_ignore_client_abort on;
Don’t know if this is safe.

就是说要配置参数 proxy_ignore_client_abort on;
表示代理服务端不要主要主动关闭客户端连接。

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

冷静思考,勇敢面对,把握未来!

Original: https://www.cnblogs.com/Anker/p/7078497.html
Author: Rabbit_Dale
Title: Nginx的 HTTP 499 状态码处理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543611/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java中的Optional

    在我们日常的开发中,我们经常会遇到 NullPointerException。如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法 java.util.Optional 使用O…

    Java 2023年6月7日
    083
  • SpringCloudAlibaba项目之OpenFeign远程调用

    SpringCloudAlibaba随笔目录 一、SpringCloudAlibaba项目之父工程搭建 二、 SpringCloudAlibaba项目之Nacos搭建及服务注册 三…

    Java 2023年6月5日
    0102
  • 25. Apache Shiro Java反序列化漏洞

    前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shi…

    Java 2023年5月29日
    0123
  • 力扣刷题之路——数组的改变、移动

    参考刷题顺序: 力扣刷题顺序 涉及题目 453. 最小操作次数使数组元素相等 283.移动零 665. 非递减数列 最小操作次数使数组元素相等 自己的想法:这个题,想了很久怎么用数…

    Java 2023年6月5日
    0109
  • 小众网站

    AI音乐推荐 https://www.gnoosic.com/faves.phpRAP https://foreignrap.com壁纸 https://wallhaven.cc/…

    Java 2023年6月5日
    0105
  • 限流常见方案

    限流常见方案 我歌月徘徊,我舞影零乱。醒时相交欢,醉后各分散。 一、限流思路 常见的系统服务限流模式有:熔断、服务降级、延迟处理和特殊处理四种。 1、熔断 将熔断措施嵌入到系统设计…

    Java 2023年6月5日
    0100
  • SpringBoot 2.x 集成QQ邮箱、网易系邮箱、Gmail邮箱发送邮件

    在Spring中提供了非常好用的 JavaMailSender接口实现邮件发送,在SpringBoot的Starter模块中也为此提供了自动化配置。 项目源码已托管在Gitee-S…

    Java 2023年5月30日
    098
  • 新一代分布式实时流处理引擎Flink入门实战之先导理论篇-上

    @ 概述 定义 为什么使用Flink 应用行业和场景 应用行业 应用场景 实时数仓演变 Flink VS Spark 架构 系统架构 术语 无界和有界数据 流式分析基础 分层API…

    Java 2023年6月5日
    0128
  • 老生常谈系列之Aop–CGLIB动态代理的底层实现原理

    老生常谈系列之Aop–CGLIB动态代理的底层实现原理 前言 上一篇老生常谈系列之Aop–JDK动态代理的底层实现原理简单讲解了JDK动态代理的实现,动态代…

    Java 2023年6月8日
    0165
  • MYSQL数据二维展示方法

    现在要对每位同学整个学期的考试成绩分科进行统计,现有数据表 t_student_score id name subject score 1 王小明 数学 89 2 王小二 数学 7…

    Java 2023年6月8日
    099
  • Java8 提供的流式操作

    参考资料 流式操作 Stream 代表一个支持串行或并行聚集操作的元素序列。 filter filter 生成一个新的 Stream,该 Stream 所有元素都满足 predic…

    Java 2023年6月9日
    0104
  • Object o = new Object()占多少个字节?-对象的内存布局

    一、先上答案 这个问题有坑,有两种回答 第一种解释: object实例对象,占16个字节。 第二种解释: Object o:普通对象指针(ordinary object point…

    Java 2023年6月9日
    0170
  • RabbitMQ简介、安装、基本特性API–Java测试

    AMQP专业术语: Server:又称broker,接受客户端的链接,实现AMQP实体服务 Connection:连接,应用程序与broker的网络连接 Channel:网络信道,…

    Java 2023年6月13日
    0109
  • 信息系统项目管理师计划

    报名地址:https://bm.ruankao.org.cn/sign/welcome#test=2 课程内容 视频时长 计划开始时间 实际开始时间 完成时间 信息系统项目管理基础…

    Java 2023年6月9日
    087
  • SpringBoot操作Oracle

    /* Navicat Premium Data Transfer Source Server : 本地Oracle Source Server Type : Oracle Sour…

    Java 2023年6月6日
    0113
  • Spring Boot 如何在启动后执行初始化任务(转)

    原文:https://zhuanlan.zhihu.com/p/352967633 作者:神马翔 Spring 应用有时会在应用启动后做一些初始化的操作,比如从数据库中拉取一些数据…

    Java 2023年5月30日
    0137
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球