系统升级后,导致数据库访问失败

Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol

  •  项目背景

    • spring boot + mysql + redis ..
    • Jenkins + Docker + K8S
  • 排查问题

    • 网络查找说将数据库连接字符串requireSSL = false(不起作用)
    • 本地访问正常,发布后报错
    • 考虑环境问题
  • 问题解决

                拉取打包后的镜像,进入镜像

  • 拉取镜像
docker pull [url]
  • 启动镜像
docker run [Image id]
  • 进入镜像
docker exec -it [container id] /bin/sh
  • 查看JVM 安全配置文件
cd /usr/lib/jvm/java-1.8-openjdk/jre/lib/security

查找 jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1,
多了TLSv1, TLSv1.1 限制
  • 修复Dockerfile(文件加入修改安全配置文件的信息即可)

RUN sed -i 's/jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1,/jdk.tls.disabledAlgorithms=SSLv3, /g' /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/java.security
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐