docker - JBoss/Keycloak 服务器 : Update self-signed Server SSl certificate

标签 docker ssl jboss keycloak

我正在管理一个 keycloak 服务器,它作为 jboss/keycloak 图像在 Synology nas 上运行。 keycloak 服务器配置为使用自签名 ssl 证书(使用我们的根证书签名)。
现在,我创建了一个新的根证书并签署了新的服务器证书(使用 openssl)。我将服务器证书和 key 文件重命名为 tls.crt 和 tls.key 并将这些文件上传到 nas 上的文件夹(ssl-Folder)。 ssl 文件夹通过 docker-compose.yml 文件安装在 jboss/keycloak docker 镜像中:
卷:

-ssl-Folder:/etc/x509/https


我通过终端命令重新启动了 jboss/keycloak docker-container
须藤 docker 重新启动
此外,我重新启动了托管容器的 nas。
如果我通过 portainer 登录正在运行的 jboss/keycloak docker-container,我可以看到新的 tls.crt 和 tls.key 文件在运行容器中的路径/etc/x509/https 中可用,并且它们对用户/可读组/其他。根据 jboss/keycloak 用户指南 https://hub.docker.com/r/jboss/keycloak/ 1(“设置 TLS (SSL)”部分):“图像会自动将它们转换为 Java keystore 并重新配置 Wildfly 以使用它”
但是,如果我在浏览器窗口中打开 keycloak-server 的地址,则会显示连接是使用旧的 ssl 证书保护的。在我看来, keystore 不会自动更新。
我进一步连接到 keycloak 管理控制台并删除了用户/领域/ key 缓存(主 -> 领域设置 -> 缓存)。服务器仍然没有使用新证书。
我必须做什么才能使服务器使用新的 ssl 证书?
先感谢您!

最佳答案

我一直在遇到同样的问题.. 虽然我没有使用 docker compose,但我正在生成一个 keycloak 容器并将 tls.crt 和 tls.key 文件作为卷提供。在 keycloak 容器中仔细检查这两个文件确实是文件而不是 目录 .我的问题是我没有提供文件的绝对路径;我提供了相对路径,这导致它们成为容器中的目录。进行此更改后,我看到在/opt/jboss/keycloak/standalone/configuration/keystores 中创建了 https-keystore.jks 和 https-keystore.pk12 keystore 。

关于docker - JBoss/Keycloak 服务器 : Update self-signed Server SSl certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63637320/

相关文章:

java - @PostConstruct 在 JBoss 7 上使用 @Singleton 和 @Startup 在类里面执行了两次

android - 使用 okHttp 握手失败但使用 HttpURLConnection 工作

python - 从哪里获取 SSLSocket 的签名算法名称?

git - Git 的 Dockerfile 策略

docker - 如何使用 openshift 调试容器镜像

delphi - 没有 SSL 时 IOHandlers 之间的区别

java - JBoss 绑定(bind) IP 地址

java - JAAS 身份验证在 JBoss AS 7 上失败

networking - Docker提供与主机相同级别的IP地址,类似于VM桥接网络

docker - 从普罗米修斯那里抓取traefik指标