我的知识记录

Apache屏蔽恶意IP访问配置_Apache IIS屏蔽IP访问教程详解

网站上线后,防盗链、IP屏蔽、蜘蛛拦截这些安全配置必不可少。CDN环境下配置IP屏蔽规则不生效,因为源服务器看到的是CDN节点IP而不是用户真实IP,屏蔽CDN节点IP会导致所有用户无法访问。Apache和IIS的IP屏蔽方式有多种(.htaccess、web.config、服务器配置、防火墙),用户分不清该用哪种方式,配置后规则优先级混乱。

从技术原理层面分析,问题背后有几个明确的原因。屏蔽规则中使用了R=301重定向,但重定向目标也在被屏蔽的IP范围内,导致循环重定向。IP段使用了错误的CIDR格式,如将192.168.1.0/24写成192.168.1.0/255.255.255.0,Apache和IIS的某些屏蔽方式不支持子网掩码格式,只支持CIDR。Apache的.htaccess中使用Require指令屏蔽IP,但Apache版本是2.2,Require指令是Apache 2.4的语法,2.2应该用Deny from,版本不匹配导致规则不生效或500错误。IIS的IP屏蔽功能(IP和域限制)需要安装"IP和域限制"角色服务,未安装时web.config中的节点无法被识别,配置后规则不生效。IP屏蔽规则放在了条件块中,对应的模块未加载,导致整个规则块被忽略。

结合实际运维经验,整理出以下解决方案。Apache mod_rewrite方式屏蔽IP:RewriteEngine On RewriteCond %{REMOTE_ADDR} ^192.168.1.100$ [OR] RewriteCond %{REMOTE_ADDR} ^10.0.0. RewriteRule ^(.*)$ - [F,L],[F]返回403,这种方式兼容性好,适合虚拟主机。Apache 2.4 .htaccess屏蔽单个IP:Require not ip 192.168.1.100,屏蔽IP段:Require not ip 192.168.1.0/24,需要配合块: Require all granted Require not ip 192.168.1.100 Require not ip 10.0.0.0/8 。CDN环境获取真实IP:Apache中使用mod_remoteip模块,配置RemoteIPHeader X-Forwarded-For,然后用%{REMOTE_ADDR}匹配真实IP;IIS中安装"动态IP限制"或使用URL Rewrite匹配{HTTP_X_FORWARDED_FOR}变量。批量屏蔽IP:Apache中在Deny from或Require not ip后列出多个IP,用空格分隔;IIS中在中添加多个节点;大量IP建议使用防火墙(iptables/Windows防火墙)屏蔽,性能优于Web服务器规则。IIS URL Rewrite方式屏蔽IP:。验证规则:用被屏蔽的IP访问网站(可通过代理或手机流量切换IP测试),返回403则规则生效;用正常IP访问确认不受影响;检查服务器访问日志确认被屏蔽IP的请求返回403状态码。后台IP白名单:在后台目录(如/admin)创建独立的.htaccess或web.config,配置IP白名单只允许办公IP访问后台,前台目录不受影响。

从更广泛的运维视角来看,还有一些容易被忽略的诱发因素。文件权限设置错误,Web服务器进程没有读取配置文件的权限,导致规则被忽略。正则表达式中特殊字符未转义,如点号、问号、星号等元字符被当作普通字符匹配。

实际操作中还需要注意以下细节。IP屏蔽规则建议使用CIDR格式,既能精准屏蔽又不会误封正常用户。屏蔽规则配置后定期检查日志,确认被屏蔽的访问确实是恶意行为。防盗链规则中设置允许空Referer,避免部分浏览器或客户端因不带Referer而无法访问资源。规则配置完成后查看服务器错误日志,确认没有因规则语法错误导致的500异常。Apache的.htaccess文件需要服务器开启AllowOverride All才能生效。防盗链规则配置后,用不同来源的请求测试,确保正常访问不受影响。

除了上述问题,实际运维中还可能遇到以下相关故障。伪静态配置后页面404,多半是规则正则表达式不匹配或服务器未加载重写模块。IP屏蔽后正常用户也无法访问,可能是屏蔽范围过大,使用了过于宽泛的CIDR段。防盗链配置后自己网站的图片也无法显示,检查规则中的允许域名是否包含了自己的域名。

随着云服务器和CDN普及,部分规则可以在CDN层面配置,减轻源站服务器的处理压力。

Apache屏蔽恶意IP访问配置_Apache IIS屏蔽IP访问教程详解

标签:

更新时间:2026-08-30 19:44:09

上一篇:shopex绿卡授权SSL证书_授权用户HTTPS配置指导

下一篇:腾讯云CVM数据库故障_数据库远程连接