首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >钥匙斗篷对接器mysql连接链接失败

钥匙斗篷对接器mysql连接链接失败
EN

Stack Overflow用户
提问于 2019-11-12 17:21:17
回答 1查看 5.3K关注 0票数 6

我试图使用mysql作为keycloak,以前也使用过相同的配置,但这次它出现了链接失败。

代码语言:javascript
复制
volumes:
  mysql_data:
    driver: local

services:
  mysql:
    image: mysql:5.7
    volumes:
       - mysql_data:/var/lib/mysql
    ports:
       - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: keycloak
      MYSQL_USER: keycloak
      MYSQL_PASSWORD: password

  keycloak:
    build: keycloak-image
    image: km-keycloak
    environment:
      PROXY_ADDRESS_FORWARDING: "true"
      DB_VENDOR: MYSQL
      DB_ADDR: mysql
      DB_DATABASE: keycloak
      DB_USER: keycloak
      DB_PASSWORD: password
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
    volumes:
      - mysql_data:/opt/jboss/mysql_data
    depends_on:
      - mysql
    links:
      - mysql

我的keycloak图像停靠文件看起来像

代码语言:javascript
复制
FROM jboss/keycloak

COPY km.json /opt/jboss
COPY entrypoint.sh /opt/jboss

USER root
RUN chown jboss /opt/jboss/entrypoint.sh && chmod +x /opt/jboss/entrypoint.sh
USER 1000

ENTRYPOINT ["/opt/jboss/entrypoint.sh"]
CMD [""]

钥匙斗篷的入口点看起来像

代码语言:javascript
复制
#!/bin/bash

if [[ -e /opt/jboss/mysql_data/keycloak ]]; then
    /opt/jboss/tools/docker-entrypoint.sh -b 0.0.0.0
else
    /opt/jboss/tools/docker-entrypoint.sh -Dkeycloak.migration.action=import -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file='km.json' -b 0.0.0.0
fi

我所犯的错误是

原因: javax.resource.ResourceException: IJ031084:无法创建由以下原因引起的连接:javax.resource.ResourceException通信链路故障: javax.net.ssl.SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适)

EN

回答 1

Stack Overflow用户

发布于 2019-11-14 21:03:29

添加

代码语言:javascript
复制
  JDBC_PARAMS: "useSSL=false"

keycloak environment变量在您的停靠-撰写文件。

(例如直接在KEYCLOAK_PASSWORD之后)

根据您的设置,可能没有必要在两个容器之间使用SSL保护连接。

我不知道为什么现在会发生这个错误。它在键盘斗篷版本7.0.0中工作,但不再在7.0.1中工作了。也许java版本已经改变了,不再信任默认的mysql容器ssl cert了。

错误stderr清华11月14日20:55:46 UTC 2019年警告:不建议建立不需要服务器身份验证的stderr连接。根据MySQL 5.5.45+,如果未设置显式选项,则默认情况下必须建立5.6.26+和5.7.6+要求SSL连接。为了遵从不使用SSL的现有应用程序,verifyServerCertificate属性被设置为'false‘。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58823674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档