请求中的 URI 无效,Apache 停止工作

请求中的 URI 无效,Apache 停止工作

今天我们的 Apache 停止了工作,它并没有崩溃,而是停止了响应。

我在 error_log 中看到的唯一错误是:

[Thu Feb 11 10:00:05.245233 2016] [core:error] [pid 7496] [client 169.229.3.91:54481] 
AH00126: Invalid URI in request 2p[\x96(\xc0\xf6\xb6w\x89\xf2=\xcd\x8f\xa4i\x9c\xb6\xec<n\v\x11!W\xdc\x9f\x1c\xdd8?\xb4\xe0\xb6,eW\xf0K\xa0H\xd1-\x91\x9f

accesslog 包含相同的

linux-9jgs:/home/USER # cat /var/log/apache2/access_log |grep 169.229.3.91
169.229.3.91 - - [11/Feb/2016:10:00:05 +0100] "2p[\x96(\xc0\xf6\xb6w\x89\xf2=\xcd\x8f\xa4i\x9c\xb6\xec<n\v\x11!W\xdc\x9f\x1c\xdd8?\xb4\xe0\xb6,eW\xf0K\xa0H\xd1-\x91\x9f" 307 264 "-" "-"
linux-9jgs:/home/USER #

有什么想法我们可以如何防止 Apache 下次挂断?

我们正在使用这个版本:

Server version: Apache/2.4.10 (Linux/SUSE)
Server built:   2015-08-11 15:51:30.000000000 +0000
Server's Module Magic Number: 20120211:36
Server loaded:  APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)

答案1

我会考虑

  • 升级到 Apache 网络服务器最新版本(撰写本文时为 2.4.18)
  • 检查安全相关设置
  • 使用以下模块mod_security

使用 mod_security 保护你的 Apache


另一个值得尝试的措施是将 MPM 从 prefork 更改为 worker,希望它不太容易受到此问题的影响。

如何选择使用哪个 Apache MPM?了解 Apache 2 MPM (worker 与 prefork)

相关内容