在 Apache 反向代理中根据 URI 设置请求标头

在 Apache 反向代理中根据 URI 设置请求标头

我正在配置 Apache 2.4 以作为多个应用程序的反向代理运行。

其中之一是 Artifactory,它说当在 Apache 反向代理后面配置 Artifactory 时,我应该使用 Apache 在请求中设置标头(标头为:X-Artifactory-Override-Base-Url)(https://www.jfrog.com/confluence/display/RTF/Configuring+a+Reverse+Proxy)。

我有一个虚拟主机,它根据 URL 中的上下文路径将请求代理到不同的应用程序。因此https://apache-proxy.com/artifactory将转到 Artifactory 应用程序。/app2 将转到应用程序 2 等等。

我的问题是:如何仅为X-Artifactory-Override-Base-UrlArtifactory 的请求设置标头?

我尝试使用 If 语句来查看 URI 是否包含 Artifactory,如下所示:

<If "%{REQUEST_URI} == '^/artifactory*'">
    RequestHeader set X-Artifactory-Override-Base-Url https://apache-proxy.com/artifactory
</If>

这是正确的吗?或者有更好的方法吗?任何帮助都非常感谢!

答案1

RequestHeader配置选项放在相关的<Location>块中。

相关内容