本文为您介绍通过主机管理控制台配置Nginx文件或.htaccess文件以及通过ASP来屏蔽单个IP地址、多个IP地址或者IP地址段访问网站的方法。
背景信息
为了提高云虚拟主机上的网站安全性,防止恶意IP地址访问网站、防止非法盗链和恶意采集网站资源的情况造成资源占用、访问延迟或网站无法访问等问题,您可以设置网站的指定访问权限。
不同类型云虚拟主机采用不同屏蔽IP地址的方法,如下表所示:
主机类型 | 说明 | 相关链接 |
---|---|---|
增强版云虚拟主机(Nginx) | 在云虚拟主机管理控制台的Nginx设置页面,您可以通过Nginx文件快捷配置屏蔽IP地址规则。 | 使用Nginx文件屏蔽IP地址 |
普通版Linux操作系统云虚拟主机(Apache) | 在云虚拟主机管理控制台的站点根目录下,您可以通过.htaccess文件配置屏蔽IP地址规则。 | 使用.htaccess文件屏蔽IP地址 |
普通版Windows操作系统云虚拟主机(Apache) | 您可以通过在ASP页面添加代码来屏蔽IP地址的访问。 | 使用ASP屏蔽IP地址 |
说明 云虚拟主机提供了访问控制功能,您也可以使用该功能屏蔽恶意IP访问网站,从而有效降低您网站被DDoS攻击的风险。具体操作,请参见使用访问控制屏蔽恶意IP和限制并发连接数。
注意事项
- 云虚拟主机管理控制台支持allow和deny指令,为保证Nginx服务的稳定性,在控制台上编写Nginx文件时,allow和deny指令只允许在location指令下配置使用。
- 使用.htaccess文件屏蔽IP地址访问时,需注意以下几点:
- 在Linux操作系统云虚拟主机的/htdocs目录下,请您提前自己上传或者新建.htaccess文件。
- Order指令可以决定Allow规则和Deny规则的生效顺序,即哪个规则排在最后,哪个规则就有最终决定权。其中,Allow表示允许,Deny表示拒绝。关于使用.htaccess文件屏蔽IP地址的生效规则信息,请参见步骤6中的屏蔽规则示例。
Order Deny,Allow
的执行逻辑为先检查是否有Deny规则,无论有没有Deny规则都会继续检查是否有Allow规则,如果有Allow规则,则执行Allow规则且完全覆盖掉Deny规则。例如,以下规则表示允许所有IP地址访问网站。Order Deny,Allow # 先检查Deny规则,但Allow规则拥有决定权。 Deny from 192.168.13.0 # 只禁止192.168.13.0地址访问网站。 Allow from all # 允许所有IP地址访问网站。
Order Allow,Deny
的执行逻辑为先检查是否有Allow规则,无论有没有Allow规则都会继续检查是否有Deny规则,如果有Deny规则,则执行Deny规则且完全覆盖掉Allow规则。例如,以下规则表示禁止所有IP地址访问网站。Order Allow,Deny # 先检查Allow规则,但Deny规则拥有决定权。 Allow from 192.168.13.0 # 只允许192.168.13.0地址访问网站。 Deny from all # 禁止所有IP地址访问网站。
使用Nginx文件屏蔽IP地址
如果您的网站在增强版云虚拟主机(Nginx)上运行,请按照本操作配置网站的指定访问权限,屏蔽不允许的IP地址访问。
- 登录云虚拟主机管理页面。
- 找到待配置Nginx文件的增强版云虚拟主机,单击对应操作列的管理。
- 在左侧导航栏,选择 。
- 在NGINX设置页面的编辑区域,输入您的配置Nginx文件内容(IP地址屏蔽规则)。以WordPress网站配置Nginx文件为例。各场景下IP地址屏蔽的生效规则示例如下所示:
- 禁止单个IP地址访问
location / { deny 192.168.13.0; }
- 禁止多个指定IP地址访问
location / { deny 192.168.13.0; deny 192.168.13.1; deny 10.1.5.0; }
- 禁止多个不指定IP地址访问
location / { allow 192.168.13.0; allow 10.1.5.0; deny all; }
- 禁止IP地址段访问
location / { deny 192.168.13.0/24; }
说明 使用掩码方式配置IP地址段权限时,请您使用网段中最小地址/掩码方式,否则会出现配置错误提示:更新nginx设置失败:nginx: [warn] low address bits of **** are meaningless。
- 禁止单个IP地址访问
- Nginx文件编辑完成后,单击保存设置。完成IP屏蔽规则的配置后,如果这些屏蔽的IP再次访问您的WordPress网站,网页会返回403错误,表示您无访问权限。
使用.htaccess文件屏蔽IP地址
如果您的网站在普通版Linux操作系统云虚拟主机(Apache)上运行,请按照本方法配置网站的指定访问权限,屏蔽不允许的IP地址访问。
- 登录云虚拟主机管理页面。
- 找到待操作的云虚拟主机,单击对应操作列下的管理。
- 在左侧导航栏,选择 。
- 在文件管理器页面,上传网站程序文件到Linux操作系统云虚拟主机。关于上传网站程序文件到云虚拟主机的站点根目录的具体操作,请参见使用文件管理器管理文件。说明 如果您使用FTP工具管理云虚拟主机上的网站文件,具体操作,请参见上传网站文件到Linux操作系统云虚拟主机。
- 在Linux操作系统云虚拟主机的/htdocs目录下,找到需要查看或修改的.htaccess文件,单击对应操作列的查看。
- 如果您使用FTP客户端查看或修改.htaccess文件,该文件一般为隐藏文件,关于如何显示隐藏文件的具体操作,请参见如何显示FTP隐藏的文件。通过FTP客户端连接云虚拟主机后,您可以在远程站点区域通过下载、编辑和上传操作来完成.htaccess文件的修改。
- 如果不存在.htaccess文件,请下载 压缩包,获取.htaccess文件,然后清空原有的规则,按照实际需求添加规则即可。
- 在弹出的文件查看/编辑页面的编辑区域,输入您的.htaccess文件内容(IP地址屏蔽规则)。以WordPress网站配置.htaccess文件为例。各场景下IP地址屏蔽的生效规则示例如下所示:
- 禁止单个IP地址访问
Order Allow,Deny Allow from all Deny from 192.0.2.0
- 禁止多个指定IP地址访问
或者Order Allow,Deny Allow from all Deny from 192.0.2.1 192.0.2.0
Order Deny,Allow Deny from 192.0.2.1 192.0.2.0
- 禁止多个不指定IP地址访问
Order Deny,Allow Deny from all Allow from 192.0.2.1 192.0.2.0
- 禁止IP地址段访问
Order Allow,Deny Allow from all Deny from 192.168.13.0/24
- 禁止单个IP地址访问
- .htaccess文件编辑完成后,单击确认。完成IP屏蔽规则的配置后,如果这些屏蔽的IP再次访问您的WordPress网站,网页会返回403错误,表示无访问权限。
使用ASP屏蔽IP地址
如果您的网站在普通版Windows操作系统云虚拟主机(Apache)上运行,请将以下代码添加到ASP页面中,用以屏蔽不允许的IP地址访问。示例代码如下所示:
<%
requestIP = request.ServerVariables("REMOTE_ADDR")
IP = "[$Deny_IP2]"
trueURL = "http://www.baidu.com"
falseURL = "http://www.google.com"
ipArr = split(IP,"|")
flag = false
for i=0 to ubound(ipArr)
if requestIP=ipArr(i) then
flag=true
exit for
end if
next
if flag then
response.Redirect(falseURL)
else
response.Redirect(trueURL)
end if
%>
说明
[$Deny_IP2]
为待屏蔽的IP地址,如果需要添加多个待屏蔽的IP地址,中间用|
隔开。