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

如何去除Keycloak重定向URL中的端口号?

解决Keycloak重定向URL附带端口号的问题

针对你使用的Keycloak 14.0.0版本,可通过以下配置去除重定向URL中的8080端口号:

一、调整Keycloak Docker环境变量

在现有Docker Compose的keycloak服务环境变量中,添加以下配置项:

  • PROXY_ADDRESS_FORWARDING=true:允许Keycloak信任反向代理传递的请求头部,以此获取外部访问的真实地址
  • KEYCLOAK_HOSTNAME_PORT=80:指定外部HTTP访问端口(http协议默认端口为80,设置后Keycloak生成URL时不会显式携带该端口)
  • KEYCLOAK_HOSTNAME_HTTP_PORT=80:对应HTTP协议的外部端口配置

修改后的环境变量部分如下:

environment:
  - DB_VENDOR=POSTGRES
  - DB_ADDR=keycloak-db
  - KEYCLOAK_HOSTNAME=keycloak.formsflow.ai
  - PROXY_ADDRESS_FORWARDING=true
  - KEYCLOAK_HOSTNAME_PORT=80
  - KEYCLOAK_HOSTNAME_HTTP_PORT=80
  - DB_DATABASE=${KEYCLOAK_JDBC_DB:-keycloak}
  - DB_USER=${KEYCLOAK_JDBC_USER:-admin}
  - DB_PASSWORD=${KEYCLOAK_JDBC_PASSWORD:-changeme}
  - KEYCLOAK_USER=${KEYCLOAK_ADMIN_USERNAME:-admin}
  - KEYCLOAK_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD:-changeme}

二、配置Nginx转发头部

确保Nginx反向代理配置中包含以下头部,将外部请求的真实主机、协议和端口传递给Keycloak:

location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Port $server_port;
}

三、验证生效

重启Keycloak和Nginx服务后,发起认证请求检查重定向URL,确认8080端口已不再显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:50:23