我正在尝试使用docker容器将keycloak配置为与PostgreSQL一起运行(使用PostgreSQL的Azure数据库)。我能够按照密钥斗篷文档here中的指示执行此操作。

我面临的问题是,PostgreSQL的Azure数据库在默认情况下将此选项“强制SSL连接”设置为“启用”,并且密钥斗篷服务器无法使用该选项。服务器启动时会引发以下错误。

ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 49) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./auth:
Caused by: org.postgresql.util.PSQLException: FATAL: SSL connection is required. Please specify SSL options and retry.

如果禁用“强制SSL连接”选项,则可以正常工作。

我想知道如何指定此选项与keycloak一起使用。

我正在使用自定义Dockerfile下载和引导keycloak服务器,并使用docker run命令将数据源参数作为环境变量传递。我试过了this approach,当我将它指向我的PostgreSQL数据源而不进行任何修改时,它可以很好地工作。但是,当我将其更改为与自己的Dockerfile兼容时,它也会出现相同的错误。

提前致谢。

最佳答案

所以这就是我所做的。

我忽略了jboss共享的最新Dockerfile(可从here获得),并根据需求版本采用了我需要的内容。早些时候我试图自己添加postgreSQL配置,因为keycloak文档建议这样做。因为现在已经开箱即用,所以我将Dockerfile更改为与jboss Dockerfile的keycloak兼容。

我也介绍了新的环境。通过将ssl=true声明为引导的here来强制SSL连接的变量

关于postgresql - 如何使用Azure PostgreSQL在 key 斗篷中强制实现SSL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48338550/

10-14 12:29
查看更多