apache禁止使用IP访问的实现方法
Posted 亦非台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache禁止使用IP访问的实现方法相关的知识,希望对你有一定的参考价值。
apache禁止访问目录列表
apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表。
找到Apache 的 httpd.conf 配置文件将:
XML/html代码
Options Indexes FollowSymLinks 改为:Options FollowSymLinks 也就是把 Indexes 去掉。
额外信息:在apache中设置虚拟主机
在IIS中我们可以方便的通过不同的IP或者端口再或者主机头来设置虚拟主机,在apache中也一样可以。
假设有www.123.com和www321.com两个域名,要同时指向一个服务器地址,通过这两个域名访问时,要呈现不同的内容,那就需要设置虚拟主机了。域名设置虚拟主机还需要DNS服务器的支持。
#Vi /etc/apache/httpd.conf
namevirtualhost *
< VirtualHost *>ServerName www.123.com DocumentRoot /var/www/nckz.org </VirtualHost>
< VirtualHost *>ServerName www.321.com DocumentRoot /var/www/nckz.net </VirtualHost>
apache禁止使用IP访问的实现方法
用apache搭建的WEB服务器,如何让网友只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有两个方法可以实现(仅限于我知道的,当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "c:/web"
ServerName www.webjx.com
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "c:/test"
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "c:/web"
ServerName www.webjx.com
</VirtualHost>
说明:蓝色部分是把通过221.*.*.*这个IP直接访问的请求指向c:/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。
如果要控制禁止某些非法IP访问,在Directory选项控制:
Order allow,deny
Allow from all
Deny from 10.0.0.1 #阻止一个IP
Deny from 192.168.0.0/24 #阻止一个IP段
只允许某些IP访问,适合比如就允许内部或者合作公司访问:
Order deny,allow
Deny from all
All from example.com #允许某个域名
All from 10.0.0.1 #允许一个iP
All from 10.0.0.1 10.0.0.2 #允许多个iP
Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对
All from 10.0.1 192.168 #允许一个IP段,后面不填写
All from 192.168.0.0/24 #允许一个IP段,网络号
以上是关于apache禁止使用IP访问的实现方法的主要内容,如果未能解决你的问题,请参考以下文章
apache2.4 只允许合法域名访问网站 禁止使用ip非法域名访问