首页 > 解决方案 > 无法连接到 keycloak 管理面板

问题描述

我已经按照教程通过 Docker 使用 postgres 运行 keycloak。由于我的前端应用程序已经在使用端口 8080,因此它使用了 9990。正如日志所说:

13:26:00,602 INFO [org.jboss.as](控制器引导线程)​​WFLYSRV0060:在http://127.0.0.1:9990/management上监听的 Http 管理接口

13:26:00,603 INFO [org.jboss.as](控制器引导线程)​​WFLYSRV0051:管理控制台监听http://127.0.0.1:9990

但是当我通过浏览器访问这些网址时,什么也没有发生。我也试过去http://127.0.0.1:9990/auth/admin/但它不起作用。当我尝试连接时,我的 keycloak 控制台中没有显示任何内容。

我已经按照教程进行操作,没有任何其他设置。怎么了?

首先我创建一个用户定义网络:

码头工人网络创建密钥斗篷网络

然后我运行 postgres:

docker run -d --name postgres --net keycloak-network -e POSTGRES_DB=keycloak -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=密码 postgres

最后是Keycloak:

docker run --name keycloak --net keycloak-network jboss/keycloak

标签: dockerkeycloak

解决方案


您需要发布 Keycloak 容器 + 重新映射端口的端口(http 为 8080,https 为 8443),因为您的机器上已经使用了 8080。例如:

docker run --rm \
  --name keycloak \
  --net keycloak-network \
  -e KEYCLOAK_USER=myadmin \
  -e KEYCLOAK_PASSWORD=mypassword \
  -p 9990:8080 \
  -p 9991:8443 \
  jboss/keycloak

Keycloak 管理 UI 将在以下位置可用:

  • http://<ip of the host machine\>:9990/
  • https://<ip of the host machine\>:9991/(在这种情况下会生成自签名证书,因此您需要在浏览器中批准 TLS 异常)

推荐阅读