2012-08-22 108 views
0

我已经在glassfish 3.1.1和iPlanet Web Server上配置了两个实例作为负载平衡器(在同一台机器上)的集群。对于与glassfish一起提供的测试应用程序,一切正常(并且此应用程序已启用会话复制)。glassfish负载平衡器操作原理

但是,当我试图让自己的应用程序工作以下情况发生时:它在我发送特定实例(即28080和28081)的端口上的请求时作出响应,但是当我尝试通过负载均衡器发送请求时端口81)我得到错误404.我的应用程序尚未启用会话复制,但它可以建立连接并为每个实例创建两个其他会话。我想获得与负载平衡器类似的效果。

所以我想确定:

  1. 非常需要负载均衡器工作正常会话复制?
  2. 有没有人知道这个错误的其他原因?从的iPlanet日志

消息:

[23/Aug/2012:05:44:16] failure (4120) myHost: for host 127.0.0.1 trying to GET /myApp/login.jsp, service-j2ee reports: PWC6117: File "c:/webserver7/https-myHost/docs/myApp/login.jsp" not found 

附加结论:

(81 - 上的iPlanet HTTP监听端口)

当我发送GET http://localhost:81/testApp然后负载均衡器将其传递到GlassFish和返回正确的网站。但是,当我尝试同样与我的测试应用程序,然后GET http://localhost:81/myApp的iPlanet查找该网站在其自己的资源(文档目录如上日志)MYHOST-obj.conf中的

片段:

<Object name="default"> 
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true" 
NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="C:/WebServer7/https-myHost/config/loadbalancer.xml" 
NameTrans fn="assign-name" name="perf" from="/.perf" 
NameTrans fn="ntrans-j2ee" name="j2ee" 
NameTrans fn="pfx2dir" from="/mc-icons" dir="C:/WebServer7/lib/icons" name="es-internal" 
PathCheck fn="uri-clean" 
PathCheck fn="check-acl" acl="default" 
PathCheck fn="find-pathinfo" 
PathCheck fn="find-index-j2ee" 
PathCheck fn="find-index" index-names="index.html,home.html,index.jsp" 
ObjectType fn="type-j2ee" 
ObjectType fn="type-by-extension" 
ObjectType fn="force-type" type="text/plain" 
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common" 
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" 
Service method="TRACE" fn="service-trace" 
Error fn="error-j2ee" 
AddLog fn="flex-log" 
</Object> 

回答

0

第一,如果您正在运行Load Balancer插件,那么您可能有支持合同(在将插件投入生产之前需要GlassFish许可证)。如果是这样,呼叫支持是一个不错的选择。

要回答您的第一个问题,会话复制对于负载平衡器不起作用是不需要的。

作为一个无耻的插件,我有一个5-part youtube series设置它。您可以跳过下载和安装视频,直接进入设置/配置/测试。根据你描述的内容,我怀疑这个问题不是插件本身,而是loadbalancer.xml配置。查看loadbalancer.xml并查看myApp是否已配置。

希望这会有所帮助。

+0

不完全,但迫使我再次通过本教程,当我重新部署我的应用程序并键入apply-http-lb-更改它开始工作。无论如何,谢谢你的回答。 – vlattson