當前位置:開發者網絡 >> 技術教程 >> 網管專欄 >> WEB服務 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
用Apache反向代理設置對外的WWW和文件服務
作者:未知
日期:2004-06-11
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:

簡介:一台機器用專線接入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主頁的話。

相關文章: