用Apache反向代理設置對外的WWW和文件服務器---作者:吳阿亭 [Linux應用版版主] 評註 張貼者: admin (member) 張貼日期 03/29/02 11:31 PM 簡介:一臺機器用專線接入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都指向 防火牆的外部網卡地址。 你需要在內部網段的apache主機上建立目錄/var/log/httpd/download/目錄,否則會 出錯。另外,你也可以設置防火牆主機上的/home/httpd/html/index.html的屬性爲 750阻止訪問,萬一外部用戶能訪問到防火牆上的Apache主頁的話。 |
用Apache反向代理設置對外的WWW和文件服務器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.