首页 > 解决方案 > 如何在 httpd.conf 中阻止 IP 地址块

问题描述

我们经历过来自多个 IP 地址的大量错误请求,这些请求会导致大量 404 错误并大大减慢我们的页面加载速度。我们的环境不允许我们使用 htaccess 文件。所以我试图在 httpd.conf 中阻止它们。这是我尝试了各种语法来阻止 216.244.75 的指令。* 这些 ip 被阻止但它们继续导致错误 403。虽然我们网站的性能有了很大的提高。有没有更好的方法来完全阻止这些 IP?

<Directory "/home/chariya/webapps/betatest">
  SetEnvIF X-Forwarded-For "216.244.75" blocked    
  SetEnvIF X-Forwarded-For "^216\.244\.75\.*" blocked    
  SetEnvIF X-Forwarded-For "216.244.75.226" blocked    
  SetEnvIF X-Forwarded-For "216.244.75.162" blocked   
  <RequireAll>
    Require all granted
    Require not env blocked
  </RequireAll>
</Directory>

标签: apachehttpd.conf

解决方案


要调试基于 Apache 2.2 及以下版本的 mod_rewrite 和产品,请启用重写日志记录。例如:

RewriteLog "logs/rewrite.log" 
RewriteLogLevel 9

调试 mod_rewrite 和基于 Apache 2.4 的产品:

LogLevel alert rewrite:trace8

并检查您的错误日志。这有助于诊断问题


推荐阅读