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