Ubuntu 10.04.4 LTS
Apache 2.2.14
ISPConfig 3.0.4.2
我们的客户端有一个旧的Web服务器,它可能会破坏可能欺骗用户代理的恶意机器人/蜘蛛程序。我已经尝试了几乎所有htaccess配置,我可以想到试图阻止这些爬行网站,但无济于事。
此时,我正试图通过.htaccess阻止单个IP,但似乎没有任何效果。
我在vhost配置文件中将AllowOveride设置为“All”:
<Directory /var/www/<this_website>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
我启用了以下mod:
ls -x /etc/apache2/mods-enabled/
actions.conf actions.load alias.conf alias.load auth_basic.load auth_digest.load
authn_file.load authz_default.load authz_groupfile.load authz_host.load authz_user.load autoindex.conf
autoindex.load cgi.load dav_fs.conf dav_fs.load dav.load deflate.conf
deflate.load dir.conf dir.load env.load expires.load fcgid.conf
fcgid.load include.load mime.conf mime.load negotiation.conf negotiation.load
php5.conf php5.load reqtimeout.conf reqtimeout.load rewrite.load ruby.load
setenvif.conf setenvif.load ssl.conf ssl.load status.conf status.load
suexec.load suphp.conf suphp.load
webroot中的.htaccess文件的snippit:
...
order allow,deny
Allow from all
Deny from 180.76.6.45
...
我已经通过在阻止列表底部添加“全部拒绝”来验证正在读取.htaccess文件。在使用浏览器访问主页后,我得到了一个预期的Apache“Forbidden”页面。但是,在观看访问日志时,我仍然看到.htaccess写完之后很久......
180.76.6.45 - - [15/Oct/2014:19:22:24 +0000] "GET /legacy HTTP/1.1" 403 0 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
对于列表中的每个其他IP也是如此。为什么我的“拒绝来自IP”指令被忽略了?
答案 0 :(得分:1)
您的IP阻止正常; - )
Apache访问日志报告页面访问成功和失败。失败不是错误。如果Apache无法成功执行指令,加载模块或出现某种错误,则会出现错误。
“请求路径协议”后面的返回代码&#39;字符串"GET /legacy HTTP/1.1"
,是403
- 这意味着禁止&#39;,换句话说,访问被拒绝。我不知道你的日志格式,所以我不能确定,但是在&#403; 403&#39;之后的价值。可能是返回的字节数,它应该是(应该是)零。