我们通过一个实例介绍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文件服务的不同的外部用户名和口令。
(出处:http://www.sheup.com)