1.3. mod_proxy_cluster的 UseNocanon 指令
mod_proxy_cluster
模块现在支持 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
错误。