apache禁止使用IP访问

apache 网站解释为当一个请求到达的时候,服务器会首先检查它是否使用了一个能和NameVirtualHost 相 匹配的IP 地址。如果能够匹配, 它就会查找每个与这个IP 地址相对应的配置段,

apache 网站解释为当一个请求到达的时候,服务器会首先检查它是否使用了一个能和NameVirtualHost 相 匹配的IP 地址。如果能够匹配, 它就会查找每个与这个IP 地址相对应的配置段, 并尝试找出一个ServerName 或ServerAlias 配置项与请求的主机名相同的。 如果找到了,它就会使用这个服务器的配置。 否则,将使用符合这个IP 地址的第一个列出的虚拟主机。

通俗的说:使用IP 地址访问时,默认情况下会访问http.conf 中的第一个虚拟主机配置项VirtualHost

apache 禁止使用IP 访问的实现方法

方法一:在httpd.conf 文件最后面,加入以下代码 NameVirtualHost 123.*.*.*

ServerName 123.*.*.*

Order Allow,Deny

Deny from all

DocumentRoot "c:/web"

ServerName www.testcom

说明:蓝色部分是实现拒绝直接通过123*.*.*的IP 的任何访问请求,这时如果你用123.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.test.com 这个域名访问,主

,

目录指向c:/web(这里假设你的网站的根目录是c:/web)

方法二:在httpd.conf 文件最后面,加入以下代码

NameVirtualHost 1223.*.*.*

DocumentRoot "c:/test"

ServerName 123.*.*.*

DocumentRoot "c:/web"

ServerName www.123.com

说明:蓝色部分是把通过123.*.*.*这个IP 直接访问的请求指向c:/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl ,比如有默认的apache 页面

2. 禁止某些IP 访问/只允许某些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 段,网络号

3. 注:修改后要重启apache

标签: