[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Apache > 正文
用Apache反向代理設置對外的WWW和文件服務器
http://www.eschool.com.cn/ 作者:吳阿亭 (2001-05-01 16:30:19)
簡介:一台機器用專線接入Internet作為防火牆,在內部網段上有一台WWW服務器 (Redhat 6.1,Apache 1.3.9)希望這台機器能對外提供WWW服務器和基apache的文件服務。供外部世界公共訪問WWW服務器,或者外地分公司下載需要的文件。 

優點: 內部的WWW服務器和文件服務完全與外部世界隔開,不直接連接到外部,通過防火牆上運行的Apache服務提供對內部的代理訪問,增強了安全性,同時在防火牆上運行的Apache服務運用基名字的虛擬主機技術,使得防火牆上的主頁不會被訪問到。符合了作為防火牆要求運行服務越少越安全的準則。 

實現方法:在內部網段上的Apache服務器(192.168.11.2)存放的是公司主頁,供內部和外部用戶公共訪問,並設置/home/ftp/pub目錄為文件存放區域,用http://download.yourdomain.com/pub/來訪問。在防火牆上設置apache反向代理技術,由防火牆代理對內部網段上的訪問。 

步驟: 
一. 內部網段上的Apache服務器設置 
  apache採用默認配置。主目錄為/home/httpd/html,主機域名為 sun.yourdomain.com,且別名到www.yourdomain.com, 並且設置srm.conf加一行別名定義如下: 
Alias /pub /home/ftp/pub/ 

且更改默認應用程序類型定義如下: 
DefaultType application/octet-stream 

最在/etc/httpd/conf/access.conf中增加一項定義 

Options Indexes 
AllowOverride AuthConfig 
order allow,deny 
allow from all 

注:Options Indexes允許在找不到index.html文件的情況下允許列出目錄/文件列表。AllowOverride AuthConfig允許做基本的用戶名和口令驗証。這樣的話,你需要在/home/ftp/pub目錄下放入.htaccess,內容如下: 
------- 
[root@shopu pub]# more .htaccess 
AuthName Branch Office Public Software Download Area 
AuthType Basic 
AuthUserFile /etc/.usrpasswd 
require valid-user 
------ 
然用#htpasswd -c /etc/.usrpasswd user1 
分別創建不同的允許訪問/pub下文件服務的外部用戶名和口令。 


二. 防火牆上反向代理配置: 
  加下面的行到/etc/httpd/conf/httpd.conf 
NameVirtualHost 1.2.3.4 

# 1.2.3.4是防火牆外部網卡的互聯網上永久IP地址 


servername www.yourdomain.com 
errorlog /var/log/httpd/error_log 
transferlog /var/log/httpd/access_log 
rewriteengine on 
proxyrequests off 
usecanonicalname off 
rewriterule ^/(.*)$ http://192.168.11.2/$1 [P,L] 



servername download.yourdomain.com 
errorlog /var/log/httpd/download/error_log 
transferlog /var/log/httpd/download/access_log 
rewriteengine on 
proxyrequests off 
usecanonicalname off 
rewriterule ^/(.*)$ http://192.168.11.2/$1 [P,L] 


注:設置防火牆上的DNS,讓download.yourdomain.com和www.yourdomain.com都指向防火牆的外部網卡地址。用www.yourdomain.com防問你的公司主頁, 用http://download.yourdomain.com/pub/訪問你的公共文件下載區。 


  你需要在內部網段的apache主機上建立目錄/var/log/httpd/download/目錄,否則會出錯。另外,你也可以設置防火牆主機上的/home/httpd/html/index.html的屬性為750阻止訪問,萬一外部用戶能訪問到防火牆上的Apache主頁的話。 
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章

======
 

★  樊強制作 歡迎分享  ★