我们的服务器(CentOS 6)出现问题,我们不断收到访问不存在的 URL 上的 wp-login.php 的重复请求,尽管 Wordpress 会尝试重定向。
我们快速连续地遇到多个此类问题,导致 Apache 陷入混乱并消耗了机器上的所有内存。目前解决此问题的唯一方法是重新启动服务器。
查看日志我们可以看到以下内容重复出现:
"POST /products/productname/wp-login.php HTTP/1.0" 200 6761
这显然是不正确的,因为它是 POST,并且长度很长。
捕获和排除这些类型的请求的最佳方法是什么?
答案1
您希望您的 Apache 首先不要重定向那些垃圾。
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^/wp-login.php - [R=401]
使用 401 拒绝所有内容,假设/wp-login.php
是有问题的 URI。