7.5. 使用反向代理


当代理转发 http 或重新加密 TLS 请求时,应设置 proxy-headers 选项。根据主机名设置(部分或全部 URL)可能会动态确定。

警告

如果选择了 转发xforwarded,请确保您的反向代理正确设置并分别覆盖 ForwardedX-Forwarded EgressIP 标头。要设置这些标头,请查阅您的反向代理文档。错误配置会使红帽构建 Keycloak 暴露于安全漏洞。

7.5.1. 完全动态 URL。

例如,如果您的反向代理正确设置了 Forwarded 标头,而您不想硬编码主机名,则红帽构建的 Keycloak 可以容纳这一点。您只需要启动服务器,如下所示:

bin/kc.[sh|bat] start --hostname-strict false --proxy-headers forwarded

使用这个配置,服务器会尊重 Forwarded 标头设置的值。这也意味着所有端点都是动态解析的。

7.5.2. 部分动态 URL

hostname 选项没有指定为完整 URL 时,也可以使用 proxy-headers 选项来动态解析 URL。例如:

bin/kc.[sh|bat] start --hostname my.keycloak.org --proxy-headers xforwarded

在这种情况下,方案、端口和上下文路径从 X-ForwardedDebug 标头动态解析,而主机名则静态定义为 my.keycloak.org

7.5.3. 修复了 URL

即使 主机名设置为 完整的 URL,proxy-headers 仍然相关,因为标头用于决定请求的来源。例如:

bin/kc.[sh|bat] start --hostname https://my.keycloak.org --proxy-headers xforwarded

在这种情况下,虽然没有从 X-Forwarded github 标头动态解析,则使用 X-Forwarded fluentd 标头来确定请求的正确来源。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.