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

非标准端口Ingress部署Keycloak后链接端口缺失问题求助

Keycloak页面链接缺失端口问题的解决方案

1. 完善Keycloak环境变量配置

仅设置KC_HOSTNAME_URL不足以让Keycloak正确生成带端口的链接,需补充KC_HOSTNAME_PORT明确指定端口,并配置KC_PROXY适配反向代理场景:

extraEnvVars:
  - name: KC_HOSTNAME_URL
    value: "http://kc-test.local:18000"
  - name: KC_HOSTNAME_PORT
    value: "18000"
  - name: KC_PROXY
    value: "edge"

KC_PROXY=edge会让Keycloak信任反向代理传递的X-Forwarded-*头,确保生成的链接使用代理的端口。

2. 修正Nginx Ingress注解

原注解未正确传递包含端口的主机头,需调整为传递完整的X-Forwarded-Host(含端口)和正确的X-Forwarded-Port:

ingress:
  enabled: true
  hostname: "kc-test.local"
  annotations:
    nginx.ingress.kubernetes.io/server-snippet: |
      proxy_set_header X-Forwarded-Port $server_port;
      proxy_set_header X-Forwarded-Host $host:$server_port;
      proxy_set_header X-Forwarded-Proto http;

$server_port会获取Ingress Controller监听的18000端口,X-Forwarded-Host带上端口后,Keycloak能据此生成正确的链接。

3. 应用配置并验证

执行Helm升级命令使配置生效:

helm upgrade keycloak bitnami/keycloak -f your-values.yaml

升级完成后,访问http://kc-test.local:18000,检查页面内的链接是否已包含端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:20:16