【问题标题】:x-requext-id header propagation in keycloakkeycloak 中的 x-requext-id 标头传播
【发布时间】:2022-11-13 00:32:53
【问题描述】:

我正在使用 keycloak 在由 API gatware 大使管理的 kubernetes 集群中实现 OAuth2 代码授权流程,我正在使用 Istio 服务网格将所有可跟踪性、mTLS 功能添加到我的集群中。其中之一是 Jaeger,它要求所有服务转发 x-request-id 标头,以便将跨度链接到特定跟踪。

发送请求时,连接到 Ambassador 的 Istio 代理将生成 x-request-id 并转发请求 keycloak 以进行授权,当结果发送回大使时,标头被丢弃,因此 keycloak 的 istio 代理将是生成一个新的x-header-id。下图显示了问题:

这是我丢失 x-request-id 的跟踪照片:

如果传递给它,有没有办法可以强制 Keycloak 转发 x-request-id 标头?

更新这是与 Keycloak 关联的环境变量(ConfigMap):

kind: ConfigMap
apiVersion: v1
metadata:
  name: keycloak-envars
data:
  KEYCLOAK_ADMIN: "admin"
  KC_PROXY: "edge"
  KC_DB: "postgres"
  KC_DB_USERNAME: "test"
  KC_DB_DATABASE: "keycloak"
  PROXY_ADDRESS_FORWARDING: "true"

【问题讨论】:

    标签: oauth-2.0 keycloak istio jaeger ambassador


    【解决方案1】:

    您可能需要使用环境变量 PROXY_ADDRESS_FORWARDING=true 重新启动您的 keycloak docker 容器。

    • 例如:docker run -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak

    【讨论】:

    • 它实际上已启用,但标题仍未转发。
    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 2022-11-17
    • 2021-07-26
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多