冷面阎罗

低调做人&&高调做事
随笔 - 208, 文章 - 3, 评论 - 593, 引用 - 0
数据加载中……

大家一起研究一下有关weblogic的方向代理

    昨天因工作需要吧,要使用到weblogic的反想代理,感觉好东西及细节都没搞明白。
    看到网上有人写到这些参数,又看到有人写的代理后的web.xml文件,也不清楚那个是对的那个是不对的。
     有的说下面这些参数是应该具备,但是我看有些人的代理后的就没有,搞不明白,有明白的人帮我指点一二。
附表-插件的通用参数(大小写区分):
参数默认值描述
WebLogicHost (如果代理到单个WebLogic服务器,那么应该设置该参数)noneHTTP请求被递交到该WebLogic Server主机(或者是定义在WebLogic Server中运行的类似于Web server的虚拟主机名)如果使用集群,那么应该使用WebLogicCluster参数而不是WebLogicHost参数。
WebLogicPort (如果代理到单个WebLogic服务器,那么应该设置该参数)noneWebLogic服务器监听WebLogic连接请求的端口。(如果在插件与WebLogic服务器之间使用SSL,那么应该把该参数设置为SSL监听端口(见8-4页的"配置监听端口")并将SecureProxy参数设置为ON)。 如果使用WebLogic集群,那么应该设置WebLogicCluster参数而不是WebLogicPort参数。
WebLogicCluster (如果代理到一个WebLogic服务器集群,那么必须设置该参数)none集群中的WebLogic服务器列表,用于负载平衡目的。该列表由逗号分隔开的host:port组成。例如: WebLogicCluster myweblogic.com:7001, yourweblogic.com:7001,theirweblogic.com:7001 如果插件与WebLogic服务器之间使用SSL协议,那么将端口号设置为SSL监听端口(见8-3页的"配置监听端口")并将SecureProxy参数设置为ON。 应该用该参数取代WebLogicHost与WebLogicPort参数,WebLogic Server首先查找WebLogicCluster参数,如果没有找到该参数,它将寻找并使用WebLogicHost与WebLogicPort参数。 插件对所有可用的集群成员进行轮询。该参数所指定的集群列表是服务器与插件共同维护的动态列表的初始值。WebLogic服务器与插件将根据新加入的、失败的以及恢复的集群成员的情况动态地更新集群列表。 如果将DynamicServerList参数设置为OFF(只适用于Microsoft Internet Information Server),那么集群列表的动态更新被禁用。插件将请求导向集群中最初创建cookie的那个服务器上(请求包含cookie、URL-encoded会话或存于POST数据中的会话信息)。
PathTrimnone在请求被转交到WebLogic服务器之前,被插件从原始URL中裁剪掉的字符串。例如:如果原始URL为 http://myWeb.server.com/weblogic/foo被传递到插件进行解析且PathTrim参数被设置为/weblogic,那么传递到WebLogic服务器的URL变为:http://myweblogic.server.com:7001/foo
PathPrependnull加在原始URL前的前缀字符串,该动作发生在PathTrim被裁剪后,请求转向WebLogic服务器之前。
ConnectTimeoutSecs10插件进行WebLogic服务器主机连接尝试的时间上限。该值应该大于ConnectRetrySecs参数。如果超过ConnectTimeoutSecs还没能连接成功,即使进行了适当次数的连接重试(见ConnectRetrySecs参数),也将把HTTP 503/Service Unavailable响应返回给客户端。 可以使用ErrorPage参数定制错误响应。
ConnectRetrySecs2该参数以秒为单位,设置了两次WebLogic Server主机(或集群中的所有服务器)连接尝试之间,插件的休眠时间。该参数的值应该小于ConnectTimeoutSecs。插件在返回HTTP 503/Service Unavailable响应之前,它将进行的连接次数为ConnectTimeoutSecs除以ConnectRetrySecs所得的值。 如果不希望重试连接,那么应该将ConnectRetrySecs值应该与ConnectTimeoutSecs相等。不过,插件会至少进行两次连接尝试。 可以用ErrorPage参数定制错误响应。
DebugOFF设置调试操作时的日志类型。在生产系统中不建议你开启这些调试选项。 在UNIX系统中,调试信息被写到/tmp/wlproxy.log文件中;在Windows NT系统,调试信息被写到c:\temp\wlproxy.log文件中,通过WLLogFile参数,你可以使用其他路径下的其他文件覆盖文件名、路径参数。你可以设置以下日志选项(其中HFC, HTW, HFW, HTC可以联合使用,它们之间用逗号隔开,如"HFC, HTW"); ON 插件只记录报告性消息与错误消息 OFF 不记录调试信息 HFC 记录来自客户端消息、报告性消息以及错误消息的消息头。 HTW 记录从weblogic发送来的消息头,报告性消息与错误消息 HFW 记录来自weblogic服务器消息的消息头,报告性消息与错误消息 HTC 记录发送到客户端消息的消息头,报告性消息与错误消息 ALL 记录发送到客户端以及客户端发送的消息的头,发送到WebLogic服务器以及WebLogic服务器发送的消息头,报告性消息,错误消息
WLLogFile参见Debug参数指明当Debug参数为ON时,产生日志文件的路径和文件名,在设置该参数前,必须创建相应目录。
DebugConfigInfoOFF启用特殊查询参数"_WebLogicBridgeConfig"。该参数可以被用来了解插件的配置参数的细节。 例如,如果把DebugConfigInfo设置为ON,那么"_WebLogicBridgeConfig"被启用。发送一个包含查询字符串?_WebLogicBridgeConfig的请求,插件将收集配置信息有运行时的统计信息并将这些信息返回给浏览器。在处理该请求时,插件没有连接到WebLogic服务器。 该参数只应严格用于调试目的。消息的输出格式随版本的变化而不同。为了安全起见,在生产环境中应该将该参数设置为OFF。
StatPath(Microsoft Internet Information Server 插件没有这个参数。)false如果把该参数设置为真,插件在把请求传递到WebLogic服务器之前检查被转换的路径是否存在或及其访问权限("Proxy-Path-Translated")。如果文件不存在,将把HTTP 404 File Not Found响应返回给客户端。如果文件存在,但它的权限不是world-readable,那么将返回HTTP 403/Forbidden响应。这两种情况下Web服务器处理这些响应的缺省机制是执行响应的体内容。如果WebLogic服务器的Web应用与Web服务器具有相同的文档根,那么该选项非常有用。 可以使用ErrorPage参数定制错误响应。
ErrorPagenone可以制作自己的错误响应页面,在Web服务器不能将请求代理到WebLogic服务器时使用。 设置该参数的方式有两种:
  • 作为相对URI(文件名)。插件自动将返回错误的Web应用的上下文路径加到URI中。对错误页面的请求是否回代理到WebLogic服务器取决于你对代理的配置(是MIME类型式代理还是路径式代理)。
  • 作为绝对URI(建议)。使用错误页面的绝对路径能够使请求总是被代理到WebLogic服务器中的正确资源上。例如: http://host:port/myWebApp/ErrorPage.html
HungServerRecoverSecs300定义了插件等待WebLogic服务器响应请求的时间。在等待了HungServerRecoverSecs时间后,插件还没有得到服务器的响应,那么它将宣布该服务器已经死机并失败转移到下一个服务器。应该把该参数设置为一个较大的值。如果所设置的值小于servlets进行处理的时间,那么会得到意想不到的后果。 最小值为:10 最大值为:600
IdempotentON如果该参数设置为ON,那么当服务器在指定的HungServerRecoverSecs时间没有响应,那么插件将进行容错处理。如果设置为OFF,插件将不进行失败转移。如果所使用的是Netscape Enterprise Server插件或Apache HTTP Server插件,不同的URL与MIME类型可以有不同的Idempotent参数设置。
CookieNameJSESSIO NID如果改变了WebLogic服务器Web应用中的WebLogic服务器会话cookie的名字,那么相应地应该将插件的CookieName参数设置为相同的值。WebLogic会话cookie的名字在特定于WebLogic的分发描述符的<session-descriptor>元素中定义
DefaultFileNamenone如果URI为"/",插件将执行以下步骤: 1.裁剪掉PathTrim参数所指定的路径 2.在后面加上DefaultFileName所指定的文件名 3.在前面加上PathPrepend参数所指定的值这样处理可以防止WebLogic服务器的重定向。将DefaultFileName设置为代理WebLogic服务器的Web应用的缺省欢迎页面。例如,如果DefaultFileName被设置为welcome.html,那么下面这个HTTP请求: http://somehost/weblogic 变为:http://somehost/weblogic/welcome.html。只有当所有被重定向的web应用指定相同的欢迎页面, 该参数才起作用。可以参见以下页面的"Configuring Welcome Pages"部分: http://e-docs.bea.com/wls/docs61/webapp/components 对于Apache用户,所使用的是Stronghold或Raven的版本,在Location块中定义参数,而非IfModule块中
MaxPostSize-1POST数据的允许的最大长度。如果内容的长度超过MaxPostSize,插件将返回一个错误消息。如果设置为-1,将不检查POST数据的长度。设置该参数可以防止通过发送大量数据使服务器过载的"拒绝服务攻击"。
MatchExpression (该参数只适用于Apache HTTP服务器)none如果采用MIME类型方式代理,应该在一个IfModule块中使用MatchExpression参数设置文件名模式。 下面的一个例子说明了使用MIME类型方式的代理: <IfModule mod_weblogic.c> MatchExpression *.jsp WebLogicHost=myHost|paramName=value </IfModule> 下面的一个例子说明了使用路径方式的代理: <IfModule mod_weblogic.c> MatchExpression /weblogicWebLogicHost=myHost|paramName=value </IfModule>
FileCachingON当该参数设置为ON,如果请求中的POST数据大于2084个字节,那么POST数据保存在硬盘的一个临时文件中,然后以8192字节为单位传给WebLogic服务器。但将FileCaching设置为ON,可能引起的问题是浏览器上将显示一个进展条表明正在进行下载。即使文件还在传输,浏览器也会显示下在已经完成。 如果该参数设置为OFF,那么当POST数据大于2084字节时,数据保存在内存中并以8192字节为单位发送到WebLogic服务器。将参数设置为OFF可能会引起问题。因为插件不能进行失败转移,因此如果请求被处理时WebLogic 服务器宕机了,那么数据将被丢失。
WlForwardPath (只有Microsoft IIS才需要定义该单数)null如果WLForwardPath设置为"/",那么所有请求都被代理到WebLogic服务器。如果只想代理以特定字符串开头的请求,那么应该将WlForwardPath参数设置为这个字符串。例如,将WlForwardPath设置为/webogic,那么所有以/weblogic开始的请求都将被代理到WebLogic服务器。 如果采用路径方式的代理,那么必须设置该参数。可以为该参数设置多个字符串,字符串之间用逗号隔开,例如:WlForwardPath=/weblogic,/bea。
KeepAliveSecs (不要为Apache HTTP服务器版本1.3.x定义该参数)30该参数定义了隔多长时间后,插件与WebLogic服务器之间的非活动连接将被关闭。要使该参数生效,KeepAliveEnabled参数应该设置为true。 该参数的值应该小于或等于在管理控制台的Server/HTTP标签页中Duration字段的值,或者是服务器Mbean中的keepAliveSecs属性的值。
KeepAliveEnabledTrue启用插件与WebLogic服务器之间的连接池。
QueryFromRequest (只适用于Apache HTTP服务器)OFF如果该参数设置为ON,那么Apache插件使用(request_rec *)r->the request将查询字符串传递到WebLogic服务器。(详细信息,请参见Apache文档。)这种行为在以下场合非常有用: 当Netscape 版本4.x浏览器发出的请求的查询字符串中包含空格。 如果你在HP上使用Raven Apache 1.5.2 如果该参数设置为OFF,那么Apache插件使用(request_rec *)r->args将查询字符串传递到WebLogic服务器。
MaxSkips (在Apache 1.3 中不可用)10只有当DynamicServerList设置为OFF时,该参数的设置才生效。如果WebLogicCluster参数所设置的列表或由WebLogic服务器返回的动态集群列表中的WebLogic服务器失败了,那么该失败的服务器被标记为"坏的",同时插件将连接到列表中的下一个服务器中。 MaxSkip设置了插件重试"坏"服务器的次数。每当插件接收到一个唯一请求(即不包含cookie的请求)时,它会连接到列表中的一个新服务器上
DynamicServerList (只能在Microsfot IIS中设置该参数)ON如果该参数设置为OFF,在对由插件所代理的请求进行负载平衡时,不使用动态集群列表,而是使用WebLogicCluster参数指定的静态列表。通常情况下,该参数应该设置为ON。将该参数设置为ON,可能会产生以下影响:
  • 如果静态列表中的一或多个服务器失败了,那么插件可能会因为重试连接到失效服务器而导致性能的降低。
  • 当你在集群中新增了一个服务器,如果不重新定义这个参数,插件就不能将请求代理到这个新服务器上。WebLogic服务器会自动地将新服务器加到动态服务器列表,从而使新服务器成为集群的一部分。

posted on 2007-03-20 15:52 冷面阎罗 阅读(3507) 评论(2)  编辑  收藏

评论

# re: 大家一起研究一下有关weblogic的方向代理  回复  更多评论   

翻译的不错
2009-01-05 15:51 | woohoo

# re: 大家一起研究一下有关weblogic的方向代理  回复  更多评论   

www.gm365.com上发布的web server软件UFO不会出现一个字节的内存泄漏和一个线程的不能回收,使用UFO做Web Server的好处是网站能做得很稳定,永远也不会自己down掉;UFO在托管机房丢包率很高、遭受Hacker攻击、互联网 骨干网被黑等恶劣的环境条件下仍然能很好地运行;UFO在对付Hacker方面(防Hacker弄down和Hacker抓取不该访问的资源)也有足 够措施。
另外,UFO几乎不会进行垃圾回收,消耗CPU很少,在普通的PC Server上用UFO运行网站,平时CPU占用率<0.1%,最多时也不会超 过5%。您知道,JVM的垃圾回收会导致大量的运算,消耗很多CPU,从而导致Server的负载能力和响应速度下降。UFO在对象管理方面采 用了很好的机制和算法,做得很出色。用UFO运行网站,可以一直保证高负载能力,快速的响应速度和低CPU消耗。
2009-06-09 19:25 | ufo

只有注册用户登录后才能发表评论。


网站导航: