|
|
最近一直在对单位的网络结构进行调整,主要的改变是增添了一台网关(兼做防火墙),另外原来的web、mail、ftp服务器是直接暴露在公网上,现在我把web、mail、ftp服务器放到内网,通过在网关上进行代理使得内网和外网都能访问。
具体的网络结构如下:
网关 &os采用freebsd410 &ip地址218.4.xxx.xxx(此为公网地址) ip地址192.168.1.1(此为内网地址)
内部服务器 & web &os采用freebsd410 &ip地址192.168.1.2
& & & & & & & & & &mail &os采用freebsd410 &ip地址192.168.1.3
& & & & & & & & & &ftp & &os采用freebsd410 &ip地址192.168.1.4
要完成的目标:在网关上采用apache的反向代理使得外网对218.4.xxx.xxx的各种访问能具体的转向到内部的各个服务器上(其中218.4.xxx.xxx和域名的泛域名已经由电信绑定)
实现方法:
1、编译apache增加代理模块的支持(使用apache1.3.29版本)
./configure --prefix=/usr/local/apache #设置安装默认目录
--enable-module=most #编译大多数模块
--enable-shared=max #设置模块为DSO(动态共享对象)模式
--enable-module=proxy #启动代理模块
--enable-shared=proxy #安装代理模块为DSO模式
--enable-module=rewrite #启动重写功能模块
--enable-shared=rewrite安装重写功能模块为DSO模式
2、在218.4.xxx.xxx上安装apache,对httpd.conf进行配置
<NameVirtualHost 218.4.xxx.xxx>
<VirtualHost 218.4.xxx.xxx>
servername www.abc.com
rewriteengine On
proxyrequests off
usecanonicalname off
rewriterule ^/(.*)$http://192.168.1.2$ 1 [P,L]
</VirtualHost>
<VirtualHost 218.4.xxx.xxx>
servername mail.abc.com
rewriteengine On
proxyrequests off
usecanonicalname off
rewriterule ^/(.*)$http://192.168.1.3$ 1 [P,L]
</VirtualHost>
<VirtualHost 218.4.xxx.xxx>
servername ftp.abc.com
rewriteengine On
proxyrequests off
usecanonicalname off
rewriterule ^/(.*)$http://192.168.1.4$ 1 [P,L]
</VirtualHost>
3、添加记录进入/etc/hosts文件
192.168.1.2 www.abc.com
192.168.1.3 mail.abc.com
192.168.1.4 ftp.abc.com
具体步骤就是上面的这些,但是在实际的运用中出现了很多的问题,没有达到我所想要的结果:
apache不能启动,说是rewriteengine On、proxyrequests off、usecanonicalname off出现错误。
至此。本次apache反向代理宣告失败,在网上看了很多文章,也还是不得期门而入,不知道各位大大能否指点一二。
谢谢各位! |
|