遇到一个问题,Keycloak 应用程序由于 SSL 错误而突然失去连接:“无法初始化 SSL 上下文”。这似乎是由于这些变化造成的“在 A 期间...
遇到一个问题,Keycloak 应用程序由于 SSL 错误而突然失去连接:“无法初始化 SSL 上下文”。
这似乎是由于 Azure 最近做出的这些更改“在 2024 年 8 月期间,我们将更新 Azure Database for PostgreSQL Flexible Server,以使用从 Digicert Global Root CA 到 Microsoft RSA Root Certification Authority 2017 的 TLS 证书”。该应用程序正在使用 Docker 运行 Keycloak。
是否有配置设置可以指定从哪里获取该证书?该证书存在于 /etc/ssl/certs 文件夹中创建的 docker 容器中,但未被 Keycloak 获取,并且似乎 Java 证书存储区不包含此新证书。
docker 文件如下
FROM quay.io/keycloak/keycloak:18.0.0 as builder
ENV KC_HEALTH_ENABLED=true
ENV KC_METRICS_ENABLED=true
ENV KC_DB=postgres
RUN /opt/keycloak/bin/kc.sh build
FROM quay.io/keycloak/keycloak:18.0.0
COPY --from=builder /opt/keycloak/ /opt/keycloak/
COPY ./themes /opt/keycloak/themes
WORKDIR /opt/keycloak
# change these values to point to a running postgres instance
ENV KC_DB=postgres
ENV KC_DB_URL='jdbc:postgresql://host.docker.internal:5432/keycloak'
# ENV SSLROOTCERT=/etc/ssl/certs/ca-bundle.crt
ENV KC_HOSTNAME=localhost
ENV KC_HTTP_ENABLED=true
ENV KC_FEATURES=declarative-user-profile
ENV KC_PROXY=passthrough
ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"]
已尝试多种方式来提供所需的证书,但均未成功(其中一种方式被注释掉,指定了 sslrootcert 变量。