阻止访问 Apache 中的默认虚拟主机

阻止访问 Apache 中的默认虚拟主机

我有一台安装了 Plesk 的 Apache 2.2 服务器。我的 CPU 使用率每天同一时间都会达到峰值。

在主日志中我发现了以下访问:

访问日志

75.143.208.206 - [19/Jul/2015:07:49:32 +0100] "POST /xmlrpc.php HTTP/1.1" 89598ms 404 275 "-" "-"

错误日志

[Sun Jul 19 07:49:32 2015] [error] [client 75.143.208.206] script '/var/www/vhosts/default/htdocs/xmlrpc.php' not found or unable to stat

由于它们正在访问默认的虚拟主机,因此它们得到了明显的 404 错误,但 404 错误不应该花费 90 秒,它应该检查文件是否存在并在不到 1 秒的时间内返回 404 错误。

我该怎么做才能完全删除对默认虚拟主机的访问,或者修复导致 CPU 峰值的问题

答案1

他们可能正在 POST 大量数据。URL 不存在也没关系,只有在发出包含 POST 数据的请求后才会进行检查。

您可以在默认 vhost 中完全禁止 POST 请求;启用重写模块并将其放入默认虚拟主机定义中:

RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* - [F,L]

相关内容