網站突然讓禁止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/
