用Apache反向代理設置對外的WWW和文件服務器

用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主頁的話。


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章