在 docker 中连接到 postgresql 后无法访问 keycloak 管理面板
Cannot access keycloak admin pannel after connect to postgresql in docker
当 postgresql 数据库不是时它工作正常 connected.But 当我配置 postgresql 时,我可以进入 keycloak 主页,但是当我点击管理控制台时,它变成空白并一直在加载页。
https://sso.dora.im/admin/master/console/
这是我的docker-compose.yml
version: '3'
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
command: start-dev --proxy passthrough
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://***:5432/keycloak?sslmode=require
KC_HOSTNAME: ***
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak_password
DB_SCHEMA: public
KEYCLOAK_ADMIN: ***
KEYCLOAK_ADMIN_PASSWORD: ***
env_file: .env
container_name: ${SERVER}
hostname: ${HOST}
labels:
- traefik.http.routers.${SERVER}.rule=Host(`${HOST}`)
- traefik.http.routers.${SERVER}.tls=true
- traefik.http.routers.${SERVER}.tls.certresolver=le
- traefik.http.services.${SERVER}.loadbalancer.server.port=${PORT}
networks:
traefik:
aliases:
- ${SERVER}
networks:
traefik:
external: true
初始化postgresql数据库后,started.When我查看了docker日志,没有报错。
所以...“管理员登录页面变为空白”可能有多种原因。请尝试以下操作:
目前(Keycloak 17.0.1、18)Keycloaks hostnameprovider / 我们在 JS 中加载 authServerUrl / authUrl 的方式存在 Bug/UX 问题。您还必须设置隐藏变量 KC_HOSTNAME_STRICT_HTTPS=false
。 Keycloak 团队正在努力解决这个问题。
您的主机名未经过验证是否正确,但浏览器存在主机名不正确的问题。所以请确保您在 KC_HOSTNAME
中设置了有效的主机名,例如all-lowercase,少于 253 个字符,没有 _
等(参考:例如 RFC952、1123),您设置没有端口的主机名(如果您使用 http-port
/https-port
需要代理上的标准 80/443 或代理上 non-standard 端口的 hostname-port
选项。)
对于数据库部分:我真的不认为这与它有关。在这种情况下,您的启动日志会有所帮助,因此从例如开始KC_LOG_LEVEL=INFO,org.hibernate:debug
或……
当 postgresql 数据库不是时它工作正常 connected.But 当我配置 postgresql 时,我可以进入 keycloak 主页,但是当我点击管理控制台时,它变成空白并一直在加载页。
https://sso.dora.im/admin/master/console/
这是我的docker-compose.yml
version: '3'
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
command: start-dev --proxy passthrough
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://***:5432/keycloak?sslmode=require
KC_HOSTNAME: ***
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak_password
DB_SCHEMA: public
KEYCLOAK_ADMIN: ***
KEYCLOAK_ADMIN_PASSWORD: ***
env_file: .env
container_name: ${SERVER}
hostname: ${HOST}
labels:
- traefik.http.routers.${SERVER}.rule=Host(`${HOST}`)
- traefik.http.routers.${SERVER}.tls=true
- traefik.http.routers.${SERVER}.tls.certresolver=le
- traefik.http.services.${SERVER}.loadbalancer.server.port=${PORT}
networks:
traefik:
aliases:
- ${SERVER}
networks:
traefik:
external: true
初始化postgresql数据库后,started.When我查看了docker日志,没有报错。
所以...“管理员登录页面变为空白”可能有多种原因。请尝试以下操作:
目前(Keycloak 17.0.1、18)Keycloaks hostnameprovider / 我们在 JS 中加载 authServerUrl / authUrl 的方式存在 Bug/UX 问题。您还必须设置隐藏变量
KC_HOSTNAME_STRICT_HTTPS=false
。 Keycloak 团队正在努力解决这个问题。您的主机名未经过验证是否正确,但浏览器存在主机名不正确的问题。所以请确保您在
KC_HOSTNAME
中设置了有效的主机名,例如all-lowercase,少于 253 个字符,没有_
等(参考:例如 RFC952、1123),您设置没有端口的主机名(如果您使用http-port
/https-port
需要代理上的标准 80/443 或代理上 non-standard 端口的hostname-port
选项。)
对于数据库部分:我真的不认为这与它有关。在这种情况下,您的启动日志会有所帮助,因此从例如开始KC_LOG_LEVEL=INFO,org.hibernate:debug
或……