我們通過一個實例介紹Apache逆向代理的配置方法。假設在企業內部網絡中有WWW服務器,我們希望這台服務器能夠通過連接到Intemet的防火牆提供對外部的WWW服務。 這種把WWW服務器設在網絡內部的方法可以把WWW服務器與外部世界隔離,提高安全性。這時,我們需要在防火牆上也安裝Apache服務器,使用它提供對WWW服務器的代理訪問。同時,結合我們前面介紹的虛擬主機技術,把防火牆作為Apache虛擬主機,使得防火牆上的主頁不會被訪問到。內部局域網中的WWW服務器 IP地址為192.168.1.2,防火牆主機內部IP地址為192.168.1.1,外部IP地址為202.5.83.124。 配置防火牆上Apache的步驟如下。 (1)在/etc/httpd/conf/httPd.conf文件中添加虛擬主機配置。 NameVirtualHost 202.5.83.124 servername www.company.com errorlog/var/log/httpd/error—log transferlog/var/log/httpd/Access—log rewriteengine On proxyrequests off usecanonicalname off rewriterule^/(.*)$http://192.168.1.2$ 1 [P,L] (2)配置局域網中的DNS服務器,把www.company.com指向202.5.83.124。這樣,所有對IP地址202.5.83.124的訪問都會被重新導向到內部WWW服 務器中。我們還需要對局域網內部WWW服務器的配置進行修改,具體步驟如下。 1]Apache采用默認配置,主目錄為/home/httpd/Html,主機域名為company.com.cn,別名為www.company.com,並且在srm.conf中添加以下別名 定義。 Alias /pub/home/FTP/pub/ DefaultType application/octet—stream 2]在/etc/hnpd/conf/access.conf中增加一項。 Options lndexes AllowOverride AuthConfiq order allow,deny allow from all 3]在/home/ftp/pub目錄下放人.htaccess文件,內容如下。 #cat.htaccess AuthName Branch Office Public Software Download Area AuthType Basic AuthUserFile /etc/.usrpasswd require valid-user 4]執行如下命令: #htpasswd -c /etc/.usrpasswd user1 分別創建允許訪問/pub文件服務的不同的外部用戶名和口令。