我有一个与Nginx的WordPress的博客设置。 我一直看这个
80.82.64.220 - - [10/Nov/2016:08:21:48 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
这是每秒一个请求。 所以我试图通过nginx的conf文件拒绝访问xmlrpc.php。
location /xmlrpc.php { deny all; access_log off; }
我尾巴的访问文件,可以看到它仍然被访问。 不知道为什么。 我尝试从我的开发机器curl随机参数,我得到一个XML文件。 我不知道为什么我得到一个XML文件。
我注意到所有请求都来自同一台服务器。 所以我想我们只是阻止IP,所以我做
sudo ufw deny from 80.82.64.220
我检查状态,它确实显示规则被添加。 我尾巴的访问文件,我仍然可以看到该文件正在访问。
防火墙和nginxconfiguration文件(包括访问日志文件)的所有更改都在我的实际服务器上。 这个服务器位于一个nginx反向代理的后面。 反向代理的访问日志没有这个访问日志,所以我猜测,主服务器正在被直接访问。
但是,文件仍然被访问?
位置块不起作用,因为它不处理/xmlrpc.php请求。 详情请参阅此文件 。
使用^~修饰符或=结构来提高位置块的优先级(详细信息请参阅此文档 ):
location = /xmlrpc.php { ... }