首页 > 代码库 > Apache禁止ip访问

Apache禁止ip访问

    网站突然让禁止ip访问,于是就通过配置Apache达到了想要的效果。

    我们网站用的是Apache+tomcat集群,所以需要配置虚拟主机,虚拟主机我在这里就不说了,不明白的上网搜搜吧,这里只说禁止ip访问的配置,打开虚拟主机的配置文件httpd-vhosts.conf,我的路径是"d:/Apache2.2/conf/extra/httpd-vhosts.conf",在NameVirtualHost *:80后面添加:

<VirtualHost *:80>ServerName *<Location />Order Allow,DenyDeny from all</Location></VirtualHost>#######下面是原有的配置#######<VirtualHost *:80>DocumentRoot "d:/Apache2.2/htdocs/www"ServerName testServerAlias test1ServerAlias test2ErrorLog logs/default-error_log</VirtualHost>

这样你的网站就只能通过 test、test1、test2访问了,网上有些资料说ServerAlias也就是别名没啥作用,在这里我要说明一下,对于一个域名的网站确实没有什么作用,但是对于多个域名的网站却是不可少的配置,比如我们的网站有两个域名,一个是带www的,一个是不带www的,这个时候没有配置别名,那么网站就只能通过一个域名访问了。

再解释一下:

Order Allow,DenyDeny from all

Order:顺序  Allow:允许  Deny:拒绝  

这句话就是顺序执行 允许,拒绝,拒绝所有,就是说先先允许配置中配置的服务名和别名访问,然后拒绝所有的访问。如果你不想显示默认拒绝的信息,可以自定义拒绝的内容,不过配置需要修改一下:

<VirtualHost *:80>ServerName *DocumentRoot "D:/Apache2.2/"</VirtualHost>

然后在"D:/Apache2.2/"目录下新建一个index.html  这个时候服务器拒绝就会显示这个html的内容。

虚拟主机配置这里就没有详细说明,因为具体的我也不是非常了解,就不误导大家了。在这里作为笔记记录一下,为了以后方便查看。

虚拟主机的文档参考:http://httpd.apache.org/docs/2.2/vhosts/