You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Kubernetes中的Keycloak路由至/auth?--http-relative-path无效

Kubernetes中Keycloak设置--http-relative-path=/auth后连接拒绝的排查方案

设置--http-relative-path=/auth本身是Keycloak官方支持的配置,连接拒绝问题基本都是Kubernetes环境下的配套配置未同步更新导致,和Keycloak本身无关,重点排查以下几个方向:

  • 同步更新健康检查探针路径
    Keycloak调整根路径后,Kubernetes的存活探针(livenessProbe)和就绪探针(readinessProbe)的访问路径必须同步修改。比如原探针访问/health/live,现在要改为/auth/health/live,否则K8s会判定容器不健康,切断流量导致连接拒绝。修改后的探针配置示例:

    livenessProbe:
      httpGet:
        path: /auth/health/live
        port: 8080
    readinessProbe:
      httpGet:
        path: /auth/health/ready
        port: 8080
    
  • 校验Ingress/路由路径映射
    如果使用Ingress转发外部流量,需确保Ingress的路径规则与Keycloak的新路径匹配。比如原Ingress将/转发到Keycloak服务的/,现在要调整为将/auth转发到服务的/auth;若使用路径重写,需避免重写规则导致请求路径与Keycloak的实际路径不匹配。

  • 确认启动参数是否生效
    查看Keycloak容器的启动日志,确认是否输出HTTP relative path: /auth。如果没有该日志,说明启动参数未正确传入Deployment的配置中,需确保--http-relative-path=/auth是放在start命令之后的参数,示例:

    args:
      - start
      - --http-relative-path=/auth
    
  • 集群内部直接测试Pod连通性
    在集群内通过其他Pod执行curl http://<keycloak-pod-ip>:8080/auth测试连通性:

    • 若能正常响应,问题出在Service或Ingress的配置上;
    • 若仍拒绝连接,检查Pod的端口是否正确暴露,以及Keycloak实际监听的端口(部分版本默认监听9090而非8080,以日志中的监听信息为准)。

内容的提问来源于stack exchange,提问作者Seth Faulkner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:34:55