继续说代理:用apache给tomcat/weblogic设置代理

mod_proxy 是Apache 自带的 模块使用代理技术来连接 Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x 版本对这个模块进行了重写,大大的增强了其功能和稳定性。

mod_jk不是apache自带的模块,但目前在很多系统中使用,可以说是久经考验

mod_proxy分为两种代理: http_proxy, ajp_proxy。 这两种代理都是通过httpd.conf来配置实现。

http_proxy

http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP 服务,也就是说必须启用 Tomcat 的 HTTP Connector。
集群配置如下:

#load balancing with mod_proxy
ProxyRequests Off
ProxyPass /  balancer://cluster/ stickysession=jsessionid nofailover=On



<Proxy balancer://cluster>



BalancerMember http://137.21.1.34:8080



BalancerMember http://137.21.1.203:7080



</Proxy>

以上配置说明把所有 "/" 根路径以下的路径请求 全部交给 balancer://cluster/处理。
BalancerMember中的端口是tomcat connector中的http connector的端口

注意: 路径的斜杠需要对应,如果BalancerMember中没有斜杠"/",则在ProxyPass需要写上,ajp_proxy配置中是一样的。

ajp_proxy

ajp_proxy 连接方式其实跟 http_proxy 方式一样,都是由 mod_proxy 所提供的功能。配置也是一样,只需要把 http:// 换成 ajp:// ,同时连接的是 Tomcat 的 AJP Connector 所在的端口。上面例子的配置可以改为:

#load balancing with mod_proxy
ProxyRequests Off
ProxyPass /  balancer://cluster/ stickysession=jsessionid nofailover=On



<Proxy balancer://cluster>



BalancerMember http://137.21.1.34:8009



BalancerMember http://137.21.1.203:7009



</Proxy>

采用 proxy 的连接方式,需要在 Apache 上加载所需的模块,mod_proxy 相关的模块有 mod_proxy.so、mod_proxy_connect.so、mod_proxy_http.so、mod_proxy_ftp.so、 mod_proxy_ajp.so, 其中 mod_proxy_ajp.so 只在 Apache 2.2.x 中才有。如果是采用 http_proxy 方式则需要加载 mod_proxy.so 和 mod_proxy_http.so;如果是 ajp_proxy 则需要加载 mod_proxy.so 和 mod_proxy_ajp.so这两个模块。

apache对于mod_proxy的负载均衡提供了界面监控集群运行的状态,并做一些简单的维护设置。需要在httpd.conf加入:

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from all
</Location>
<Location /server-info>
SetHandler server-info
Order Deny,Allow
Allow from all
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from all
</Location>

之后通过http://localhost/balancer-manager 来访问

完整配置参见附件中的httpd.conf, mod_proxy的完整配置参考见http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

 

给weblogic设置代理

 

1.如果你用apache 2.2 , 首先找到mod_wl_22.so,官方不提供下载,本文提供一个附件

2.修改http.conf加上

LoadModule weblogic_module modules/mod_wl_22.so

3. 代理配置http.conf,Cluster的情况下多个URL用逗号分割

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

<IfModule mod_weblogic.c>
  WebLogicCluster 127.0.0.1:7001
  MatchExpression /*
</IfModule>
<Location /weblogic>
SetHandler weblogic-handler
  WebLogicCluster 127.0.0.1:7001
  DebugConfigInfo ON
  PathTrim /weblogic
</Location>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值