参考资料: 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的服务,就可以了。

apache禁止IP访问网站的更多相关文章

  1. Nginx如何设置禁止IP访问网站

    需要禁止IP访问网站.在相关的server中设置相关的限制即可.

  2. Apache禁止ip访问

    网站突然让禁止ip访问,于是就通过配置Apache达到了想要的效果. 我们网站用的是Apache+tomcat集群,所以需要配置虚拟主机,虚拟主机我在这里就不说了,不明白的上网搜搜吧,这里只说禁止ip ...

  3. apache配置,禁止ip访问web站点

    由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个).这样对用户造成不好的印象,所 ...

  4. 通过ASP禁止指定IP和只允许指定IP访问网站的代码

    过ASP禁止指定IP和只允许指定IP访问网站的代码,需要的朋友可以参考下. 一.禁止指定IP防问网站,并执行相应操作: 代码如下: <% Dim IP,IPString,VisitIP '设置I ...

  5. IIS网站设置禁止IP访问设置方法

    本文设置系统为Windows2003.IIS版本是6.0. 打开IIS管理器,在iis管理器左侧单击打开网站下面的相应需要设置的网站,并在此网站上右键,选择属性,即可打开该网站属性进行相关设置. (i ...

  6. 使用nginx配置域名及禁止直接通过IP访问网站

    前段时间刚搭建好个人网站,一直没有关注一个问题,那就是IP地址也可以访问我的网站,今天就专门研究了一下nginx配置问题,争取把这个问题研究透彻. 1. nginx配置域名及禁止直接通过IP访问 先来 ...

  7. 在虚拟机上的关于Apache(阿帕奇)(3)基于IP访问网站

    这篇随笔是基于IP访问网站,和后面两篇文章基于域名和基于端口一起练习效果更好 基于IP(记得下载httpd服务) 首先使用nmtui命令为网卡添加多个ip地址  输入命令:nmtui  进入下面这个界 ...

  8. Linux 如何设置只允许域名访问站点而禁止IP访问站点

    最近在论坛里看到有人问到 Linux 如何设置只允许域名访问站点而禁止IP访问站点的问题,之前自己也用过这个功能,可以防止别人用 IP 地址来访问到自己的网站,下面我就我自己的环境给出解决方法,我用的 ...

  9. Nginx禁止ip访问或IP网段访问方法

    Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧. 常用的linux做法 iptables参考规则  代码如下 复制代码 ...

随机推荐

  1. 防爆等级介绍 - IP65防爆等级和dIIBT4防爆等级的有什么区别?

    IP65 IP是Ingress Protection的缩写,IP等级是针对电气设备外壳对异物侵入的防护等级,如:防爆电器,防水防尘电器,来源是国际电工委员会的标准IEC 60529,这个标准在2004 ...

  2. TCP/IP学习20180629-数据链路层-ARP、IP

    1.数据链路层:IP.ARP.RARPARP协议用来找到目标主机的Ethernet网卡Mac地址,IP协议用来承载数据ARP协议找到目标,IP协议传输数据2.IP协议ip协议是TCP/IP协议的核心, ...

  3. centos7如何使用yum命令

    参照https://www.cnblogs.com/zhongguiyao/p/9029922.html 参照https://blog.csdn.net/shuaigexiaobo/article/d ...

  4. ijkplayer之.so文件编译过程

    本文转载:ijkplayer编译so库真没那么难: 1.如何使用ijkplayer 官方:https://github.com/Bilibili/ijkplayer build.gradle添加下述依 ...

  5. (转)查看SQLServer最耗资源时间的SQL语句

    原文地址:https://www.cnblogs.com/My-Dream/p/6270308.html 1.找出执行时间最长的10条SQL(适用于SQL SERVER 2005及其以上版本) SEL ...

  6. MySQL——navicat 连接 mysql 出现1251Client does not support authentication protocol requested by server的解决方案

    前期修改root密码问题(首次安装的root密码是空,直接Enter就行): cmd用管理员身份进入,然后输入 mysqladmin -u root -p password newpassword 需 ...

  7. Linux下Memcached安装与启用

    http://www.linuxidc.com/Linux/2016-07/133423.htm

  8. Requests对HTTPS请求验证SSL证书

    SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主 ...

  9. SpringMVC工作原理示意图

    上面的是springMVC的工作原理图: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中 ...

  10. apache配置报错:Unrecognized LogFormat directive %I

    跟着阿里云调日志教程(https://help.aliyun.com/document_detail/87740.html)时出现报错: AH00526: Syntax error on line . ...