首页 技术 正文
技术 2022年11月11日
0 收藏 648 点赞 4,707 浏览 1933 个字

参考资料: http://www.cnblogs.com/zhuangge/archive/2011/04/13/2014892.html

先引用一下上面资料的内容:

用apache搭建的WEB服务器,如何让网友只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,通过查找,有两个方法可以实现,都是修改httpd.conf文件来实现的,下面举例说明。

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


     NameVirtualHost 211.*.*.*


     <VirtualHost 211.*.*.*>
     ServerName 211.*.*.*
     <Location />
        Order Allow,Deny
        Deny from all
     </Location>
     </VirtualHost>    
     <VirtualHost 211.*.*.*>
     DocumentRoot “c:/web”
     ServerName tuan.coo8.com
     </VirtualHost>   
   说明:蓝色部分是实现拒绝直接通过211.*.*.*这个IP的任何访问请求,这时如果你用211.*.*.*访问,会提示拒绝访问。红色部分就是允许通过http://tuan.coo8.com/这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)

   方法二:在httpd.conf文件最后面,加入以下代码
     NameVirtualHost 211.*.*.*
     <VirtualHost 211.*.*.*>
     DocumentRoot “c:/test”
     ServerName 211.*.*.*
     </VirtualHost>     
     <VirtualHost 211.*.*.*>
     DocumentRoot “c:/web”
     ServerName http://tuan.coo8.com

     </VirtualHost>    
    
   说明:蓝色部分是把通过211.*.*.*这个IP直接访问的请求指向c:/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。

     

        注意:1. 直接复制粘贴的话可能会带有中文空格,请把这些多余的空格去掉。

       2.  如果使用了负载均衡,限制的IP不要写外网IP,请填写内网IP。

最终事例:

理解意思是先建一个虚拟主机,拒绝所有的IP访问,然后再建一个虚拟主机,只允许指定的域名来访问。

这个是配置文件的路径

/usr/local/*/config/apache/vhosts.conf

原来的配置文件内容为:

# Virtual Hosts# default host
<VirtualHost *:99>
DocumentRoot "/usr/local/*/data/www"
ServerName mail.domain.com
ErrorLog "logs/mail_error_log"
CustomLog "logs/mail_access_log" common
</VirtualHost>

修改后可以达到目的的配置文件,这个192.168.1.191为服务器的IP地址,生产环境将其修改为服务器需要访问的公网Ip地址,并且其中的路径我将有一个改为*号了,直接复制的也需要改一下。

NameVirtualHost 192.168.1.191
<VirtualHost 192.168.1.191:99>
#DocumentRoot "/usr/local/*/data/www"
ServerName 192.168.1.191
<Location />
Order Allow,Deny
Deny from all
</Location>
ErrorLog "logs/mail_error_log_ip"
CustomLog "logs/mail_access_log_ip" common
</VirtualHost><VirtualHost 192.168.1.191:99>
DocumentRoot "/usr/local/*/data/www"
ServerName mail.domain.com
ErrorLog "logs/mail_error_log"
CustomLog "logs/mail_access_log" common
</VirtualHost>

最终再重启一下apache的服务,就可以了。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295