博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
客户端浏览器Chrome过早断开连接导致Nginx报400错误的解决办法
阅读量:5975 次
发布时间:2019-06-19

本文共 1820 字,大约阅读时间需要 6 分钟。

hot3.png

什么原因这个哥们已经说了现象如下:

访问access.log日志出现:

192.168.72.1 - - [04/Apr/2013:00:45:28 +0800] "-" 400 0 "-" "-"

错误error.log日志出现:

2013/04/04 00:45:28 [info] 9489#0: *7 client prematurely closed connection while reading client request line, client: 192.168.72.1, server: _

使用patch命令打如下补丁:

diff -ur nginx-0.7.65.orig/src/http/ngx_http_request.c nginx-0.7.65/src/http/ngx_http_request.c--- nginx-0.7.65.orig/src/http/ngx_http_request.c       2010-02-02 00:06:25.000000000 +0900+++ nginx-0.7.65/src/http/ngx_http_request.c    2010-02-16 17:12:09.000000000 +0900@@ -1132,7 +1132,7 @@         c->error = 1;         c->log->action = "reading client request headers"; -        ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);+        ngx_http_close_request(r, NGX_HTTP_CLIENT_CLOSED_REQUEST_LINE);         return NGX_ERROR;     } @@ -2846,7 +2846,9 @@      log->action = "logging request"; -    ngx_http_log_request(r);+    if ( rc != NGX_HTTP_CLIENT_CLOSED_REQUEST_LINE ) {+        ngx_http_log_request(r);+    }      log->action = "closing request"; diff -ur nginx-0.7.65.orig/src/http/ngx_http_request.h nginx-0.7.65/src/http/ngx_http_request.h--- nginx-0.7.65.orig/src/http/ngx_http_request.h       2010-02-02 00:54:02.000000000 +0900+++ nginx-0.7.65/src/http/ngx_http_request.h    2010-02-16 13:25:33.000000000 +0900@@ -112,6 +112,7 @@  * own code to log such situation when a client has closed the connection  * before we even try to send the HTTP header to it  */+#define NGX_HTTP_CLIENT_CLOSED_REQUEST_LINE     498 #define NGX_HTTP_CLIENT_CLOSED_REQUEST     499

将以上patch代码保存为nginx-free-request-400-bad-request.patch并使用以下命令:

[root@nginx-server-study nginx-1.2.8]# patch -p1 < ../nginx-free-request-400-bad-request.patch

原文地址: 由于nginx版本问题我的patch作了修改,我测试的nginx版本是nginx-1.2.8为目前最新稳定版本

转载于:https://my.oschina.net/springleng/blog/119635

你可能感兴趣的文章
第一次作业-准备篇
查看>>
day-6 and day-7:面向对象
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
javascript数学运算符
查看>>
LC.155. Min Stack(非优化,两个stack 同步 + -)
查看>>
交互设计[3]--点石成金
查看>>
SCCM TP4部署Office2013
查看>>
redis主从配置<转>
查看>>
bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理...
查看>>
利用console控制台调试php代码
查看>>
递归算法,如何把list中父子类对象递归成树
查看>>
讲解sed用法入门帖子
查看>>
Linux 内核已支持苹果
查看>>
shell脚本逻辑判断,文件目录属性判断,if,case用法
查看>>
【二叉树系列】二叉树课程大作业
查看>>
App重新启动
查看>>
矩阵乘法
查看>>
得到目标元素距离视口的距离以及元素自身的宽度与高度(用于浮层位置的动态改变)...
查看>>