域名恶意指向的问题解决

在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文件来实现的,下面举例说明。    

 

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

NameVirtualHost 221.*.*.*      

<VirtualHost 221.*.*.*>      

ServerName 221.*.*.*      

<Location />        

Order Allow,Deny         

Deny from all      

</Location>      

</VirtualHost>          

<VirtualHost 221.*.*.*>      

DocumentRoot "c:/web"      

ServerName www.webjx.com      

</VirtualHost>      

   说明:以上部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.webjx.com这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)      

 

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

NameVirtualHost 221.*.*.*      

<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直接访问。红色部分的意思跟方法一是一样的。

 

 

 

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段,网络号

   注:修改后要重启apache>在httpd.conf文件中每条命令前都不要加空行。在写完配置文件后用 httpd -t -D httpd.conf 进行一下检查

posted on 2013-05-06 14:24  杀出个黎明  阅读(445)  评论(0编辑  收藏  举报