大多数指令允许在 Apache HTTP Server 全局配置部分出现一次,并在每个 <VirtualHost> 元素中出现一次。此规则的例外情况在下表中明确列出。
大多数值从主服务器继承到虚拟主机。自版本 1.2.20 起,它们可以在虚拟主机中被覆盖。此规则的例外情况再次在下表中明确列出。特别请参阅 JkMountCopy。
如果 Apache 的 DocumentRoot 与 Tomcat Host 的 appBase 或任何 Context 的 docBase 重叠,则可能会发生这种情况。在使用 Apache Alias 指令与 Tomcat Host 的 appBase 或任何 Context 的 docBase 时也可能发生这种情况。
以下是 Apache 支持的所有指令
属性 | 描述 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JkWorkersFile | Tomcat servlet 容器的 worker 文件名。 | ||||||||||||||||||||
JkWorkerProperty | 允许在 Apache 配置文件中设置 worker 属性。语法与 JkWorkersFile(通常是 workers.properties)中的相同。只需在每行前面加上 "JkWorkerProperty",即可将其直接放入 Apache 配置文件中。 | ||||||||||||||||||||
JkShmFile | 共享内存文件名。仅在 Unix 平台上使用。shm 文件由 balancer 和 status workers 使用。 共享内存包含负载均衡器 workers 及其成员的配置和运行时信息。它需要确保所有 Apache 子进程
| ||||||||||||||||||||
JkShmSize | 共享内存文件的大小。 | ||||||||||||||||||||
JkMountFile | 包含从上下文到 Tomcat worker 的多个映射的文件。它通常被称为 uriworkermap.properties。 | ||||||||||||||||||||
JkMountFileReload | 此指令配置重新加载检查间隔(以秒为单位)。JkMountFile 会定期检查是否有更改。更改的文件会自动重新加载。如果您将此指令设置为 "0",则会关闭重新加载检查。 | ||||||||||||||||||||
JkMount | 从上下文到 Tomcat worker 的挂载点。 | ||||||||||||||||||||
JkUnMount | 从上下文到 Tomcat worker 的排除挂载点。在将请求映射到 Tomcat worker 后,会检查所有排除挂载。如果请求也映射到排除项,则不会将其转发到 Tomcat,而是由本地提供服务。 | ||||||||||||||||||||
JkAutoAlias | 自动将 webapp 上下文目录别名到 Apache 文档空间中。 | ||||||||||||||||||||
JkMountCopy | 如果此指令在某个虚拟服务器中设置为 "On",则来自全局服务器的挂载将被复制到此虚拟服务器,更准确地说,是 JkMount 或 JkUnMount 定义的所有挂载。JkMountFile 和 JkAutoAlias 定义的挂载只有在 VirtualHost 未定义自己的 JkMountFile 或 JkAutoAlias 时才会继承。 | ||||||||||||||||||||
JkWorkerIndicator | Apache 环境变量的名称,可用于与 SetHandler jakarta-servlet 结合设置 worker 名称。 | ||||||||||||||||||||
JkWatchdogInterval | 此指令配置 watchdog 线程的间隔(以秒为单位)。workers 由一个后台线程定期维护,该线程每 watchdog_interval 秒运行一次。Worker 维护检查空闲连接、纠正负载状态并能够检测后端健康状态。 | ||||||||||||||||||||
JkLogFile | mod_jk 日志文件的完整路径或服务器相对路径。它也可以通过使用 "| ..." 形式的值来与管道一起工作。 | ||||||||||||||||||||
JkLogLevel | mod_jk 日志级别,可以是 debug、info、warn error 或 trace。 | ||||||||||||||||||||
JkLogStampFormat | mod_jk 日期 日志格式,使用扩展的 strftime 语法。此格式将用于 JkLogFile 中的时间戳。格式的最大长度为 63 个字符。 | ||||||||||||||||||||
JkRequestLogFormat | 请求日志格式字符串。请参阅下面的详细说明。 | ||||||||||||||||||||
JkExtractSSL | 启用 mod_jk 的 SSL 处理和信息收集 具体来说,mod_jk 将根据 Servlet 规范 3.0 第 3.8 节,将 Apache 中的以下环境变量作为请求属性导出到 Tomcat:
此外,mod_jk 将使用的 SSL 协议名称作为名为 对于所有其他与 SSL 相关的变量,请为您想要的每个变量使用 | ||||||||||||||||||||
JkRequestIdIndicator |
包含唯一请求 ID 的 Apache 环境变量名称。该环境变量的值将添加到大多数 mod_jk 错误日志行中,并且通过将该环境变量也添加到 Apache 日志中,可以轻松地与 Apache 日志进行关联。 此功能已在 mod_jk 的 1.2.49 版本中添加。 如果客户端或前面的另一个反向代理通过 HTTP 请求头发送请求 ID,可以使用 mod_setenvif 将其复制到环境变量中,从而使其可供 mod_jk 使用 | ||||||||||||||||||||
JkHTTPSIndicator | 包含 SSL 指示的 Apache 环境变量名称。 | ||||||||||||||||||||
JkSSLPROTOCOLIndicator | 包含 SSL 协议名称的 Apache 环境变量名称。 | ||||||||||||||||||||
JkCERTSIndicator | 包含 SSL 客户端证书的 Apache 环境变量名称。 | ||||||||||||||||||||
JkCIPHERIndicator | 包含 SSL 客户端密码的 Apache 环境变量名称。 | ||||||||||||||||||||
JkCERTCHAINPrefix | 包含 SSL 客户端链证书的 Apache 环境变量(前缀)名称。 | ||||||||||||||||||||
JkSESSIONIndicator | 包含 SSL 会话的 Apache 环境变量名称。 | ||||||||||||||||||||
JkKEYSIZEIndicator | 包含正在使用的 SSL 密钥大小的 Apache 环境变量名称。 | ||||||||||||||||||||
JkLocalNameIndicator | 可用于覆盖转发的本地名称的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkIgnoreCLIndicator | 强制忽略现有 Content-Length 请求头的 Apache 环境变量名称。这可用于使 mod_jk 与 mod_deflate 请求体膨胀兼容(参见下文)。 | ||||||||||||||||||||
JkLocalAddrIndicator | 可用于覆盖转发的本地 IP 地址的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkLocalPortIndicator | 可用于覆盖转发的本地端口的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkRemoteHostIndicator | 可用于覆盖转发的远程(客户端)主机名的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkRemoteAddrIndicator | 可用于覆盖转发的远程(客户端)IP 地址的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkRemotePortIndicator | 可用于覆盖转发的远程(客户端)IP 地址的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkRemoteUserIndicator | 可用于覆盖转发的用户名的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkAuthTypeIndicator | 可用于覆盖转发的认证类型的 Apache 环境变量名称。仅在需要调整数据时才使用此功能(请参阅代理文档)。 | ||||||||||||||||||||
JkOptions | 设置一个或多个选项来配置 mod_jk 模块。有关此指令的详细信息,请参阅下文。 | ||||||||||||||||||||
JkEnvVar | 添加一个环境变量的名称和可选默认值,该环境变量应作为请求属性发送到 servlet-engine。如果未明确给出默认值,则该变量只会在运行时设置时发送。 | ||||||||||||||||||||
JkStripSession | 如果此指令在某些虚拟服务器中设置为 On,则对于未转发而是由本地服务器处理的 URL,会删除会话 ID |