请问在apache服务器如何实现下面情景的http代理/转发?
情景如下:
(1)在外网有机器一ip为58.0.98.12;
(2)在内网有两台机器,分别是机器二IP为128.128.81.188,上面部署apache server;机器三Ip为128.128.81.145,是部署weblogic的www服务器,可以访问上面的以下页面:
http://128.128.81.145/menu.html
http://128.128.81.145/exchange/login.html
其中http://128.128.81.145/exchange/login.html是http://128.128.81.145/menu.html一个“登陆”按钮的链接页面,
机器一和二外网连同,机器二和三内网连同。
现在我想在机器二128.128.83.188上实行http代理转发,访问内网同网段的机器128.128.83.145www服务,即:
(1)机器一IE浏览器上输入http://128.128.81.188/menu.html,需要机器一IE留言器地址仍然是http://128.128.81.188/menu.html,但实际页面内容为http://128.128.81.145/menu.html。
(2)点击上面的http://128.128.81.188/menu.html页面的“登陆”服务,需要IE地址为是http://128.128.81.188/exchange/login.html,但是页面内容转到http://128.128.81.145/exchange/login.html
从而起到一定的隔离安全防范作用。
我试了试以下方法:
(1)使用apache的重定向rewrite功能,我可以设置http://128.128.81.188/menu.html的方面重定向到http://128.128.81.145/menu.html,但是IE浏览器地址也变成了http://128.128.81.145/menu.html,接下来点击重定向的页面“登陆”就是http://128.128.81.145/exchange/login.html的页面了,没有经过机器二的http代理转发(应该不能登陆了???),access_log日志里也没有记录这次代理access。同理“交易1”也是如此。是不是这个行不通????
(2)使用apache的反向代理功能,我使用的是一个页面写一次代理映射,如:
ProxyPass /menu.html http://128.128.81.188/menu.html
ProxyPassReverse /menu.html http://128.128.81.188/menu.html
ProxyPass /exchange/login.html http://128.128.81.188/exchange/login.html
ProxyPassReverse /exchange/login.html http://128.128.81.188/exchange/login.html
这样起了效果,但好像有点问题,还有如果有很多的页面怎么办?
还有其他好的,简单的方法吗?谢谢