网站突然让禁止ip访问,于是就通过配置Apache达到了想要的效果。
我们网站用的是Apache+tomcat集群,所以需要配置虚拟主机,虚拟主机我在这里就不说了,不明白的上网搜搜吧,这里只说禁止ip访问的配置,打开虚拟主机的配置文件httpd-vhosts.conf,我的路径是"d:/Apache2.2/conf/extra/httpd-vhosts.conf",在NameVirtualHost *:80后面添加:
<VirtualHost *:80> ServerName * <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> #######下面是原有的配置####### <VirtualHost *:80> DocumentRoot "d:/Apache2.2/htdocs/www" ServerName test ServerAlias test1 ServerAlias test2 ErrorLog logs/default-error_log </VirtualHost>
这样你的网站就只能通过 test、test1、test2访问了,网上有些资料说ServerAlias也就是别名没啥作用,在这里我要说明一下,对于一个域名的网站确实没有什么作用,但是对于多个域名的网站却是不可少的配置,比如我们的网站有两个域名,一个是带www的,一个是不带www的,这个时候没有配置别名,那么网站就只能通过一个域名访问了。
再解释一下:
Order Allow,Deny Deny 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/
时间: 2024-09-30 13:03:56