配置Apache作为反向代理服务器

来源:互联网 发布:如何管理mac菜单栏 编辑:程序博客网 时间:2024/05/16 00:32

 

                                      

 

      几天前遇到的那个问题解决了,就是像大家所说的用Apache作为一个反向代理服务器(R-Proxy),因为Apache可以和WAS、WLS等集成,但不能和IIS集成,所以遇到这样的复杂集成的情况,我查找到的和朋友们给我的资料都是用Apache做反向代理,有的还会加上Apache的Rewrite。不过如果只是满足我的那样的要求的话,只需要配置成R-Proxy就OK了。

配置方法很简单,我用的是Apache的2.0.55,没有SSL的:

1.把Apache的httpd.conf中的几行modul的注释去掉,我去掉了如下几行:

#rabbit8
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#rabbit8

2.配置虚拟主机

在httpd.conf的末尾添加virtual host内容:

                                         
    ServerAdmin ltf_ty2001@yahoo.com.cn                 
    ServerName rabbit8                     

    # reverse proxy setting
    ProxyPass                /rabbit8        http://192.168.0.1:9080/budget
    ProxyPassReverse   /rabbit8        http://192.168.0.1:9080/budget

 

    需要注意的是我故意将应用的名字和原来配置的名字区别开,这样做可以不用更改原来的应用名,可以在Apache上面进行重新命名。

如果只是要完成反向代理的转发,这样就然后就OK了。

      但是Apache的机器如果是放到了公网上,那么还要修改许多性能和安全的配置项,你可以到网上去查,我也不太清楚,遇到哪里就查到哪里,:o)

      这种方式叫做反响代理的原因是,一般一个局域网如果要访问互联网的话都有一个代理服务器为内网抓取内网请求的资料,而防火墙会对内网开放常用的端口和请求,而对外网来的数据包进行过滤分析,丢掉和阻止不符合规则的数据包。而我的要求是我的Web在内网,通过Apache将请求转发进来,将请求的内容发送出去,相当于Apache是为外部的访问做代理,所以叫“反向代理”。

      一般的防火墙基本都会对外部请求进行阻止,所以,如果不对防火墙进行配置的话,外部的请求是进不来的,我昨天就是配置好了Apache,但从外网访问不了,总是报一个Bad Gateway的错误,后来证实是内部的防火墙不允许这样的请求进入,所有的端口都没有对外开放,所以如果要配置这样的代理服务器还需要网管的配合。

      昨天一个同事在我的笔记本上噼里啪啦的敲了一堆检测网络和hop的命令,我看得眼花缭乱,意识到应该补补这方面的知识了,为了验证80端口是否打开,我找到搞防火墙的师兄,他告诉我一个工具:ethereal,用来抓包分析数据,我用了一下,发现原来网络底层是这么的繁忙,一个劲儿的四处问hello,发送一些SYN RST等等的请求和应答。最近发现我的一些基础知识需要恶补,如:C、数据结构、通信原理、网络原理,企业级的应用是一个需要综合知识的领域,多学些东西有助于更好的解决问题。

      如果想要了解更多Apache的话,我的书签收藏了一些对我有用的文章,你可以看看。

      另外发现在我的Blog上求助比去论坛来的还快,谢谢我的朋友们!

      感觉island最近有些玩物丧志,以前写的技术文章很不错,可惜现在不写了:o)

      配置完了Apache,也算了结了以前困扰我的一个问题,在2年前我就知道这样的系统拓扑,但就是不知道是怎么实现的,这个配置虽然简单,但查了2天的Apache的资料让我学到了很多新的东西,今年我终于进入了我一直期待的企业级应用的领域,我觉得这样的项目才能够学习到更多的东西,虽然目前的每个子系统都不大,技术也不是很复杂,但我更看重的是EAI集成的经验和多项技术的配合,这是我2年前就想了解的,来新公司2个月了,虽然一直没有时间去弄Portal那块,但我对项目的整体规划和部署都已经比较熟悉了,离我的目标越来越近了!

      和十几个同事还有客户唱了一晚上的歌,回来已是凌晨2点了,现在应该是12月25号了,今天是圣诞节,祝朋友们圣诞快乐;o)

原创粉丝点击