IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Nginx 响应 400 的处理

扶凯 2013-05-01 22:31:58 累计浏览 4,507 次
本机暂存

网上很多人写过相关的文章,大多的人的原因是因为 header 的头部大小超了,引起响应 400 告诉是 bad request.但其实还有一种可能,就是象端口测试工具,只是检查端口是否是活的。象 LVS 之类什么的,也会引起这种问题,然后日志中会出现大量的 400 象下面这样.

183.44.94.195 - - [19/Apr/2013:15:42:19 +0800] -  -  400 0 "-"  "-" -

183.44.94.195 - - [19/Apr/2013:15:42:19 +0800] -  -  400 0 "-"  "-" -

另外,还有请求时,连 GET 之类的信息都没有,也有可能引起。没有 HTTP 指定的协议版本信息 HTTP/1.1 之类信息,也都会引起 400 。象这种空的日志。

这时会有大量的这种日志,非常影响我们查看和处理日志。

if ($server_protocol !~ "HTTP/1.[10]" ) {

   return 403;

}

测试过使用这种方式,但并关不了日志,虽然能过滤出来协议信息不存在的请求。因为这种请求不会落到任何 location 中。

所以这种的最简单的解决方案就只有

server {

       listen 80 default_server;

       server_name '';

       access_log  off;

}

加一个 server 给所有主机名不存的请求放到这个中来处理,并给日志关掉。


同分类推荐文章

  1. Vibe新开源项目 - Vaala AI Gateway (2026-05-17 02:10:19)
  2. SmartPerfetto 架构文章 Q&A:8 个深度技术问答 (2026-04-10 11:00:00)
  3. 让 AI 把我的 PHP 博客重写成 Go (2026-03-27 18:33:54)

查看更多 后端 文章 →

建议继续学习

  1. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 106,991)
  2. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,827)
  3. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,313)
  4. 记录一个软中断问题 (累计阅读 16,890)
  5. 解析nginx负载均衡 (累计阅读 16,512)
  6. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,806)
  7. libcurl的使用总结(二) (累计阅读 15,002)
  8. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,194)
  9. HTTP协议Keep-Alive模式详解 (累计阅读 12,008)
  10. 你必须了解的Session的本质 (累计阅读 11,314)