在 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日志,没有报错。

所以...“管理员登录页面变为空白”可能有多种原因。请尝试以下操作:

  1. 目前(Keycloak 17.0.1、18)Keycloaks hostnameprovider / 我们在 JS 中加载 authServerUrl / authUrl 的方式存在 Bug/UX 问题。您还必须设置隐藏变量 KC_HOSTNAME_STRICT_HTTPS=false。 Keycloak 团队正在努力解决这个问题。

  2. 您的主机名未经过验证是否正确,但浏览器存在主机名不正确的问题。所以请确保您在 KC_HOSTNAME 中设置了有效的主机名,例如all-lowercase,少于 253 个字符,没有 _ 等(参考:例如 RFC952、1123),您设置没有端口的主机名(如果您使用 http-port/https-port需要代理上的标准 80/443 或代理上 non-standard 端口的 hostname-port 选项。)

对于数据库部分:我真的不认为这与它有关。在这种情况下,您的启动日志会有所帮助,因此从例如开始KC_LOG_LEVEL=INFO,org.hibernate:debug 或……