![如何配置 Apache 以记录无效 HTTP 请求的 IP](https://linux22.com/image/755939/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20Apache%20%E4%BB%A5%E8%AE%B0%E5%BD%95%E6%97%A0%E6%95%88%20HTTP%20%E8%AF%B7%E6%B1%82%E7%9A%84%20IP.png)
我的 Apache/2.4.29 (Ubuntu) 使用假名 IP 创建访问日志条目:
88.130.0.0 88.130.0.0 - - [09/Aug/2020:11:30:51 +0200] "GET / HTTP/1.1" 200 279 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
当我连接 ncat 并执行无效的 HTTP 请求时,IP 不会被记录。
[09/Aug/2020:11:31:38 +0200] "test\n" 400 226
在这种情况下,我该如何配置 Apache 来记录 IP?
使用以下日志格式:
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
使用此 VirtualHost 指令启用日志记录:
CustomLog ${APACHE_LOG_DIR}/access.log combined
使用 mod_log_ipmask 进行假名化(https://github.com/webfactory/mod_log_ipmask)。
答案1
输出
apache2ctl -DDUMP_CONFIG | grep -vE "^[ ]*#[ ]*[0-9]+:"
显示 的日志配置<VirtualHost xxx:80>
与 的日志配置不同<VirtualHost xxx:443>
。现在它可以按预期工作。