指示 | 工人类型 | 默认 | 描述 |
connect_timeout |
AJP,SUB |
0 |
建立连接后,连接超时属性告诉Web服务器在ajp13连接上发送PING请求。该参数是等待PONG回复的延迟(以毫秒为单位)。默认值零禁用超时(无限超时)。
jk 1.2.6中 已添加了此功能,以避免挂起的Tomcat出现问题,并且需要ajp13 ping / pong支持,该支持已在Tomcat 3.3.2 +,4.1.28 +和5.0.13+上实现。默认禁用。
|
prepost_timeout |
AJP,SUB |
0 |
Prepost超时属性告诉Web服务器在转发给ajp13连接之前向其发送PING请求。该参数是等待PONG回复的延迟(以毫秒为单位)。默认值零禁用超时(无限超时)。
jk 1.2.6中 已添加了此功能,以避免挂起的Tomcat出现问题,并且需要ajp13 ping / pong支持,该支持已在Tomcat 3.3.2 +,4.1.28 +和5.0.13+上实现。默认禁用。
|
reply_timeout |
AJP,SUB |
0 |
该参数是读取事件期间等待成功的毫秒数。因此,这不是请求的完整应答时间的超时,而只是从Tomcat接收到的两个数据包之间的最大时间。通常,最长的暂停是在发送请求和获取响应的第一个数据包之间。
如果超时过去而没有从Tomcat接收到任何数据,则Web服务器将不再等待其余的响应并将错误发送给客户端(浏览器)。通常这并不意味着该请求也会在Tomcat后端中止。如果工作线程是负载均衡器的成员,则负载均衡器可能会将工作线程置于错误状态,然后在另一个成员上重试该请求。另请参见max_reply_timeouts,重试和recovery_options。
默认情况下(值为零),Web服务器将永远等待,这可能对您来说是个问题。如果设置了reply_timeout,则如果您的servlet长时间运行,请仔细调整它。
该reply_timeout可以使用Apache HTTP服务器的环境变量被覆盖 JK_REPLY_TIMEOUT和工人地图扩展reply_timeout。
jk 1.2.6中 已添加了此功能,以避免挂起的Tomcat出现问题,并且可在所有支持ajp13的servlet引擎上使用。在版本1.2.27中添加了变量JK_REPLY_TIMEOUT和辅助映射。
|
retries |
AJP,SUB |
2 |
负载平衡器工作者也可以使用此指令。对于那些人来说,它具有不同的含义。 发生通信错误时,工作者将请求发送到Tomcat的最大次数。每次重试将通过另一个连接完成。第一次已经计算在内,因此retries = 2表示一次在错误后重试。重试之前,工作人员会等待可配置的睡眠时间。
另请参阅属性recovery_options以获取对重试的更细粒度控制,并为睡眠时间配置提供retry_interval。
在1.2.16版之前,默认值为3。
|
retry_interval |
AJP,SUB |
100 |
重试之前,工作人员睡眠的时间(以毫秒为单位)。
此功能已在jk 1.2.27中添加。
|
recovery_options |
AJP,SUB |
0 |
如果我们检测到Tomcat问题,恢复选项会影响我们应如何处理重试。重试的频率由属性重试控制。
此属性是位掩码。允许以下位: 1:如果在收到请求后Tomcat失败, 则不恢复2:如果将标头发送到客户端后,如果Tomcat失败,则不恢复 4:如果回写时检测到错误,则关闭与Tomcat的连接客户端(浏览器)的答案 8:始终恢复对HTTP方法HEAD的请求(即使设置了位1或2) 16:始终恢复对HTTP方法GET的请求(即使设置了位1或2)
此功能已在jk 1.2.6中添加。在版本1.2.16中添加了选项4 ,在版本1.2.24中添加了选项8和16 。
|
fail_on_status |
AJP,SUB |
0 |
将此值设置为HTTP状态代码,如果从Servlet容器返回该状态代码将导致工作程序失败。使用此伪指令可以处理Servlet容器可以在短时间内(例如在重新部署期间)临时返回非200响应的情况。
错误页面,原始响应的标题和状态代码将不会发送回客户端。而是该请求将导致503响应。如果工作人员是负载均衡器的成员,则该成员将进入错误状态。请求故障转移和工作程序恢复将通过常规负载平衡器过程进行处理。
此功能已在jk 1.2.20中添加。
从jk 1.2.22开始,可以定义由空格或逗号分隔的多个状态代码。例如:worker.xxx.fail_on_status=500,503
从jk 1.2.25开始,如果返回的响应中带有fail_on_status中的状态码之一,则还可以告诉负载平衡器不要将成员置于错误状态。通过在这些状态代码的前面加上减号来启用此功能。例如:worker.xxx.fail_on_status=-404,-500,503
|
busy_limit |
AJP,SUB |
0 |
如果将其设置为正数,则该工作器将仅用于请求,如果该请求当前正在处理的并行请求数小于此数目。
请注意,这与“ 繁忙”负载平衡 方法无关。
此功能是实验性的,已在jk 1.2.41中添加。
|
max_packet_size |
AJP,SUB |
8192 |
此属性设置最大AJP数据包大小(以字节为单位)。它应该是1024的倍数。不是1024的倍数的配置值将与下一个1024的倍数对齐。最大值为65536。如果将其更改为默认值,则还必须更改您的packetSize属性Tomcat端的AJP连接器!从Tomcat 6.0.2开始,可以使用属性packetSize。
通常,没有必要更改最大数据包大小。发送证书或证书链时,已报告默认值问题。
此功能已在jk 1.2.19中添加。
|
prefer_ipv6 |
AJP,SUB |
false |
当使用IPV6支持进行编译时,此指令对具有IPV6和IPV4地址的主机名强制使用IPV6地址解析。如果没有为给定的主机名定义IPV6地址,则该指令无效。如果仅定义了IPV6地址或IP地址用作IPV4或IPV6表示法的“主机”,则该指令也将无效。
此功能已在jk 1.2.38中添加。
|
secret |
AJP,SUB,LB |
- |
您可以在Tomcat AJP Connector上设置secret关键字。然后,将仅接受来自具有相同秘密关键字的工作人员的请求。
在Tomcat AJP连接器配置中 使用属性secret =“秘密关键字”。(历史记录:该属性名称在2020年2月之前发布的Tomcat 9.0、8.x,7.0版本中为requiredSecret, 在Tomcat 6.0及更低版本中为request.secret。)
如果在负载均衡器上设置机密,则其所有成员都将继承此机密。
此功能已在jk 1.2.12中添加。
|
mount |
AJP,LB |
- |
工作者应处理的以uri为单位的空格分隔列表。仅当worker.list中包含worker时才使用。
同一工作人员可以多次使用此指令。
|
max_reply_timeouts |
LB |
0 |
如果您对负载均衡器工作人员的成员使用Reply_timeout,并且您希望允许一些请求花费的时间超过Reply_timeout,则可以将此属性设置为某个正值。
长时间运行的请求仍会在reply_timeout毫秒等待数据后超时,但是如果超过max_reply_timeouts个请求超时,则相应的成员工作器将仅处于错误状态。更准确地说,只要负载均衡器进行内部维护(默认每60秒进行一次),这些错误请求的计数器就会被除以2。
在jk 1.2.24中已添加此功能,以使reply_timeout对偶发的长期运行请求不敏感。
|
recover_time |
LB |
60 |
恢复时间是指负载均衡器进入错误状态后,它将不尝试使用工作器的时间(以秒为单位)。只有在这段时间过去之后,处于错误状态的工作程序才会被标记为正在恢复,以便尝试新请求。
每次处理请求时都不会检查此间隔。而是在全局维护期间对其进行检查。两次全局维护之间的时间间隔由worker.maintain控制。
除非您了解其中的含义,否则请勿将recover_time设置为很短的时间。错误工作者的每次恢复尝试都是由真实请求完成的!
|
error_escalation_time |
LB |
recover_time / 2 |
将负载均衡器的成员设置为错误状态非常严重。例如,这意味着如果您需要粘性,将阻止对相应节点的会话的所有访问。
某些类型的错误检测无法提供精确的信息,无论节点是否完全损坏。在那些情况下,LB不会立即将节点置于错误状态。仅在发生此类错误后的error_escalation_time秒内没有成功的响应时,该节点才会进入错误状态。
此功能已在jk 1.2.28中添加。
|
session_cookie |
LB |
JSESSIONID |
Cookie的名称,其中包含会话粘性所需的路由标识符。路由标识符是“。”之后的所有内容。Cookie值中的字符。
此功能已在jk 1.2.27中添加。
|
session_path |
LB |
;jsessionid |
路径参数的名称,其中包含会话粘性所需的路由标识符。路由标识符是“。”之后的所有内容。path参数值中的字符。
此功能已在jk 1.2.27中添加。
|
set_session_cookie |
LB |
false |
激活会话粘性cookie的生成。通常,您不需要这个。
一些Web框架取代了Tomcat会话管理,并使用了另一种生成会话ID的方式。结果,Tomcat添加到会话ID末尾的路由ID丢失了,我们不再能够进行粘性负载平衡。解决方法是,可以使用以下步骤:
- 使用“ session_cookie”属性选择一个非标准的cookie名称。
- 通过将属性“ set_session_cookie”设置为true来激活cookie发送。
- 将属性“ session_cookie_path”设置为正确的应用程序URI,例如“ / myapp /”。
仅当请求中尚未包含相同名称的cookie或该cookie不包含负载均衡器可以满足的路由ID时,才会发送该cookie。尤其是在节点故障转移之后,我们将发送新的cookie,以将粘性切换到新节点。
此功能已在jk 1.2.38中添加。
|
session_cookie_path |
LB |
- |
仅当“ set_session_cookie”设置为true时,才使用此属性。有关说明,请参见“ set_session_cookie”。如果“ session_cookie_path”的值为空(默认值),则发送cookie将不包含PATH信息。
此功能已在jk 1.2.38中添加。
|
activation |
SUB |
Active |
使用此伪指令,可以将负载平衡器的平衡器配置为禁用或停止。禁用的工作人员仅获取属于该工作人员会话的请求。停止的工作程序不会收到任何请求。除非使用通过群集的会话复制,否则被停止工作的用户的用户将丢失会话。
使用d或D禁用,使用s或S停止。如果不存在此伪指令,则使用不推荐使用的伪指令“ disabled”或“ stopped”。
可以在运行时使用状态工作程序更改此标志。
此功能已在jk 1.2.19中添加。
|
route |
SUB |
worker name |
通常,负载均衡器中的均衡工作器名称等于相应的Tomcat实例的jvmRoute。如果要将与Tomcat实例相对应的工作程序包括到具有不同平衡配置(例如,禁用,已停止)的多个负载平衡器中,则可以使用此属性。
为每个磅和每个Tomcat实例定义一个单独的工作程序,并使用任意工作程序名称,并将工作程序的路由属性设置为等于目标Tomcat实例的jvmRoute。
如果将此属性留空,则将使用工作程序的名称。
可以在运行时使用状态工作程序更改此属性。
如果路由名称包含一个句点,则除非明确设置了domain,否则第一个句点之前的部分将用作域名。
此功能已在jk 1.2.16中添加。 自动域规则已在jk 1.2.20中添加。 该属性已从jvm_route重命名为jk 1.2.20中的route。
|
distance |
SUB |
0 |
一个整数,用于表示磅工人的平衡工人之间的偏好。如果还有另一个可用的距离较小的工作人员,则负载平衡器将永远不会选择一些平衡的工作人员。
只有在给定距离以下的所有工人均发生错误,被禁用或停止的情况下,更大距离的工人才有资格进行平衡。
此功能已在jk 1.2.16中添加。
|
domain |
SUB |
- |
仅当worker是负载均衡器的成员时,才可以使用Domain指令。共享相同域名的工作程序被视为单个工作程序。如果使用sticky_session,则将域名用作会话路由。
该指令用于具有6个以上Tomcat的大型系统,以便能够将Tomcat分为两个组,从而降低它们之间的会话复制传输。
此功能已在jk 1.2.8中添加。
|
redirect |
SUB |
- |
设置为首选故障转移工作器的名称。如果与SESSION ID匹配的工作程序处于错误状态,则将使用重定向工作程序。即使禁用它也会被使用,从而提供热备用。
如果通过“ route”属性显式设置路由,则必须将“重定向”设置为首选故障转移工作程序的此路由,而不是其名称。
此功能已在jk 1.2.9中添加。
|