nginx服务器access日志中大量400 bad request错误的解决方法

 更新时间:2015年01月26日 10:45:04   投稿:junjie  
这篇文章主要介绍了nginx服务器access日志中大量400 bad request错误的解决方法,本文结论是空主机头导致的大量400错误日志,关闭默认主机的日志记录就可以解决问题,需要的朋友可以参考下

在access.log中有大量400错误,并以每天几百M的速度增加,占用大量空间.

复制代码 代码如下:

tail -f /opt/nginx/logs/access.log

    116.236.228.180 - - [15/Dec/2010:11:00:15 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:15 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:15 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:15 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:15 +0800] "-" 400 0 "-" "-"
    119.97.196.7 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    119.97.196.7 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    219.243.95.197 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"
    116.236.228.180 - - [15/Dec/2010:11:00:16 +0800] "-" 400 0 "-" "-"


网上大把的文章说是HTTP头/Cookie过大引起的,可以修改nginx.conf中两参数来修正.
复制代码 代码如下:

    client_header_buffer_size 16k;
          large_client_header_buffers 4 32k;

修改后
复制代码 代码如下:

    client_header_buffer_size 64k;
         large_client_header_buffers 4 64k;

没有效果,就算我把nginx0.7.62升到最新的0.8.54也没能解决.
在官方论坛中nginx作者提到空主机头不会返回自定义的状态码,是返回400错误.
http://forum.nginx.org/read.php?2,9695,11560

最后修正如下
改为原先的值

复制代码 代码如下:

    client_header_buffer_size 16k;
         large_client_header_buffers 4 32k;

关闭默认主机的日志记录就可以解决问题
复制代码 代码如下:

    server {
    listen *:80 default;
    server_name _;
    return 444;
    access_log   off;
    }

相关文章

  • Nginx配置并兼容HTTP实现代码解析

    Nginx配置并兼容HTTP实现代码解析

    这篇文章主要介绍了Nginx配置并兼容HTTP实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Nginx服务器进程数设置和利用多核CPU的方法

    Nginx服务器进程数设置和利用多核CPU的方法

    这篇文章主要介绍了Nginx服务器进程数设置和利用多核CPU的方法,这样便可以更大限度地提高Nginx运行效率,需要的朋友可以参考下
    2015-08-08
  • nginx配置IP白名单的详细步骤

    nginx配置IP白名单的详细步骤

    在日常运维工作中会碰到这样的需求,设置网站访问只对某些ip开放,其他ip的客户端都不能访问,下面这篇文章主要给大家介绍了关于nginx配置IP白名单的详细步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • nginx设置资源请求目录的方式详解

    nginx设置资源请求目录的方式详解

    最近有一个需求.就是url指定路径下访问服务器的静态资源,这篇文章主要给大家介绍了关于nginx设置资源请求目录的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • nginx Rewrite重写地址的实现

    nginx Rewrite重写地址的实现

    本文主要介绍了nginx Rewrite重写地址的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 详解Nginx如何处理WebSocket连接

    详解Nginx如何处理WebSocket连接

    在当今互联网的世界中,实时通信变得越来越重要,WebSocket 作为一种实现实时双向通信的技术,正被广泛应用于各种场景,而 Nginx 作为一款高性能的 Web 服务器和反向代理服务器,在处理 WebSocket 连接方面也有着出色的表现,本文介绍了Nginx如何处理WebSocket连接
    2024-07-07
  • 为Nginx添加mp4流媒体支持

    为Nginx添加mp4流媒体支持

    这篇文章主要介绍了为Nginx添加mp4流媒体支持的的相关资料,需要的朋友可以参考下
    2014-12-12
  • nginx出现权限问题解决(13: Permission denied)

    nginx出现权限问题解决(13: Permission denied)

    本文主要介绍了nginx出现权限问题解决(13: Permission denied),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 详解nginx如何配置HTTPS

    详解nginx如何配置HTTPS

    本篇文章主要介绍了详解nginx如何配置HTTPS,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Nginx配置Https免费证书访问步骤

    Nginx配置Https免费证书访问步骤

    这篇文章主要为大家介绍了Nginx配置Https免费证书访问步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论