搜索

C.2. mod_proxy_cluster.so 模块和指令

download PDF

Proxy Balancer 模块 mod_proxy_cluster.so 处理请求到集群节点的路由。Proxy Balancer 根据集群中的应用程序位置、每个集群节点的当前状态和会话 ID (如果请求是已建立的会话的一部分),选择适当的节点来转发请求。

LoadModule proxy_cluster_module modules/mod_proxy_cluster.so

mod_proxy_cluster.so的可配置指令

您还可以在 < VirtualHost> 元素中配置 以下指令,以更改负载均衡行为。

CreateBalancers

定义如何在 Apache HTTP 服务器虚拟主机中创建负载均衡器。以下值在 CreateBalancers 中有效:

  • 0 :在 Apache HTTP 服务器中定义的所有虚拟主机中创建负载均衡器。记得在 ProxyPass 指令中配置负载均衡器。
  • 1: 不要创建负载均衡器。使用这个值时,还必须在 ProxyPassProxyPassMatch 中定义负载均衡器名称。
  • 2: 仅创建主服务器。这是 CreateBalancers 的默认值。
UseAlias

定义是否检查定义的 Alias 对应于 ServerName。以下值是 UseAlias 的有效值:

  • 0 :忽略来自 worker 节点的别名信息。这是 UseAlias 的默认值。
  • 1: 验证定义的别名是否与 worker 节点的服务器名称对应。
LBstatusRecalTime
定义代理计算 worker 节点状态之间的间隔(以秒为单位)。默认间隔为 5 秒。
ProxyPassMatch; ProxyPass

ProxyPass 将远程服务器映射到本地服务器命名空间中。如果本地服务器有地址,如 http://local.com/,以下 ProxyPass 指令会将 http://local.com/requested/file1 的本地请求转换为 http://worker.local.com/file1 的代理请求。

ProxyPass /requested/ http://worker.local.com/

ProxyPassMatch 使用正则表达式匹配代理 URL 应该应用到的本地路径。

对于任一指令,! 表示指定的路径为本地,并且该路径的请求不应路由到远程服务器。例如,以下指令指定应在本地提供 gif 文件。

ProxyPassMatch ^(/.*\.gif)$ !
UseNocanon

定义是否在不修改的情况下将原始 URL 路径转发到后端。

默认值为 Off。当 UseNocanon 指令设置为 Off 时,代理可将修改的 URL 转发到后端。但是,如果后端应用需要客户端请求的原始 URL 路径,则修改后的 URL 路径可能会导致意外问题。

当您将 UseNocanon 指令设置为 On 时,代理可以在不需要任何修改的情况下将原始 URL 路径转发到后端。在这种情况下,代理行为取决于您是否也在 mod_proxy_cluster.conf 文件中为请求的 URL 定义上下文和 ProxyPass 指令。上下文也称为 虚拟主机定义

当您将 UseNocanon 指令设置为 On 时,请考虑以下准则:

  • 如果您为请求的 URL 定义上下文,但没有为这个 URL 定义 ProxyPass 指令,代理将使用 UseNocanon 指令。
  • 如果您为请求的 URL 定义上下文和 ProxyPass 指令,并且 ProxyPass 指令包含 nocanon 标志,代理使用 nocanon 标志并忽略 UseNocanon 指令。
  • 如果您为请求的 URL 定义上下文和 ProxyPass 指令,并且 ProxyPass 指令排除 nocanon 标志,代理会忽略 UseNocanon 指令。
注意

如果没有为请求的 URL 定义上下文,mod_proxy_cluster 会返回 404 错误。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.