apache禁止IP訪問網站


參考資料: 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的服務,就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM