为了提高Linux操作系统云虚拟主机上的网站安全性,防止恶意访问造成网站性能降低。本文为您介绍通过主机管理控制台配置Nginx文件或.htaccess文件来屏蔽单个IP地址、多个IP地址或者IP地址段访问网站的方法。
一、背景信息
为了提高网站安全性,您可以设置网站的指定访问权限,防止恶意IP地址访问网站,或者出现非法盗链和恶意采集网站资源的情况,造成资源占用、访问延迟或网站无法访问等问题,只允许您信任的授权IP地址访问网站。
不同类型云虚拟主机采用不同屏蔽IP地址的方法,如下所示:
1、增强版云虚拟主机(Nginx):在云虚拟主机管理控制台的Nginx设置页面,您可以通过Nginx文件快捷配置屏蔽IP地址规则。
2、普通版Linux操作系统云虚拟主机(Apache):在云虚拟主机管理控制台的站点根目录下,您可以通过.htaccess文件配置屏蔽IP地址规则。
二、注意事项
为保证Nginx服务的稳定性,云虚拟主机管理控制台支持allow、deny指令只能在location指令中配置来编写Nginx文件。 使用.htaccess文件屏蔽IP地址访问时,需注意以下几点:
1、Order指令可以决定Allow规则和Deny规则的生效顺序,即哪个规则排在最后,哪个规则就有最终决定权。其中,Allow表示允许,Deny表示拒绝。
2、Order Deny,Allow的执行逻辑为先检查是否有Deny规则,无论有没有Deny规则都会继续检查是否有Allow规则,如果有Allow规则,则执行Allow规则且完全覆盖掉Deny规则。例如,以下规则表示允许所有IP地址访问网站。
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Deny,Allow # 先检查Deny规则,但Allow规则拥有决定权。
Deny from 192.168.13.0 # 只禁止192.168.13.0地址访问网站。
Allow from all # 允许所有IP地址访问网站。</code></pre>
3、Order Allow,Deny的执行逻辑为先检查是否有Allow规则,无论有没有Allow规则都会继续检查是否有Deny规则,如果有Deny规则,则执行Deny规则且完全覆盖掉Allow规则。例如,以下规则表示禁止所有IP地址访问网站。
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Allow,Deny # 先检查Allow规则,但Deny规则拥有决定权。
Allow from 192.168.13.0 # 只允许192.168.13.0地址访问网站。
Deny from all # 禁止所有IP地址访问网站。</code></pre>
三、使用Nginx文件屏蔽IP地址
如果您的网站在增强版云虚拟主机(Nginx)上运行,请按照本操作配置网站的指定访问权限,屏蔽不允许的IP地址访问。
1、登录云虚拟主机管理页面。
2、找到待配置Nginx文件的增强版云虚拟主机,单击对应操作列的管理。
3、在左侧导航栏,选择高级环境设置 > NGINX设置。
4、在NGINX设置页面的编辑区域,输入您的配置Nginx文件内容(IP地址屏蔽规则)。 以WordPress网站配置Nginx文件为例。
(1)禁止单个IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">location / { deny 192.168.13.0; }</code></pre>
(2)禁止多个指定IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">location / { deny 192.168.13.0; deny 192.168.13.1; deny 10.1.5.0; }</code></pre>
(3)禁止多个不指定IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">location / { allow 192.168.13.0; allow 10.1.5.0; deny all; } </code></pre>
(4)禁止IP地址段访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">location / { deny 192.168.13.0/24; }</code></pre>
(5)Nginx文件编辑完成后,单击保存设置。
完成IP屏蔽规则的配置后,如果这些屏蔽的IP再次访问您的网站,网页会返回403错误,表示您无访问权限。
四、使用.htaccess文件屏蔽IP地址
如果您的网站在普通版Linux操作系统云虚拟主机(Apache)上运行,请按照本方法配置网站的指定访问权限,屏蔽不允许的IP地址访问。
1、登录云虚拟主机管理页面。
2、找到待管理网站文件的Linux操作系统云虚拟主机,单击对应操作列的管理。
3、在左侧导航栏,选择文件管理 > 文件管理器。
4、在文件管理器页面,上传网站程序文件到Linux操作系统云虚拟主机。
5、在Linux操作系统云虚拟主机的/htdocs目录下,找到需要查看或修改的.htaccess文件,单击对应操作列的查看。
6、在弹出的文件查看/编辑页面的编辑区域,输入您的.htaccess文件内容(IP地址屏蔽规则)。 以WordPress网站配置.htaccess文件为例。
(1)禁止单个IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Allow,Deny Allow from all Deny from 192.0.2.0</code></pre>
(2)禁止多个指定IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Allow,Deny Allow from all Deny from 192.0.2.1 192.0.2.0</code></pre>
或者
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Deny,Allow Deny from 192.0.2.1 192.0.2.0</code></pre>
(3)禁止多个不指定IP地址访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Deny,Allow Deny from all Allow from 192.0.2.1 192.0.2.0</code></pre>
(4)禁止IP地址段访问
<pre id="codeblock-vca-ym7-2vj" class="pre codeblock"><code class="hljs language-undefined">Order Allow,Deny Allow from all Deny from 192.168.13.0/24</code></pre>
7、.htaccess文件编辑完成后,单击确认。完成IP屏蔽规则的配置后,如果这些屏蔽的IP再次访问您的网站,网页会返回403错误,表示无访问权限。