我 正在 使用 keycloak 在 一 个 由 API gatware Ambassador 管理 的 kubernetes 集群 中 实现 OAuth2 代码 授权 流 , 我 正在 使用 Istio Service mesh 向 我 的 集群 添加 所有 可 跟踪 性 、 mTLS 特性 。 其中 一 个 特性 是 Jaeger , 它 要求 所有 服务 转发 x-request-id
头 , 以便 将 跨度 链接 到 特定 跟踪 中 。
发送 请求 时 , 连接 到 大使 的 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"
中 的 每 一 个
1条答案
按热度按时间13z8s7eq1#
您 可能 需要 使用 环境 变量
PROXY_ADDRESS_FORWARDING=true
重新 启动 keycloak docker 容器 。docker run -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak