网站首页 > 教程文章 正文
介绍语
本号主要是Java常用关键技术点,通用工具类的分享;以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+docker等集成框架的技术分享;datax、kafka、flink等大数据处理框架的技术分享。文章会不断更新,欢迎码友关注点赞收藏转发!
望各位码友点击关注,冲1000粉。后面会录制一些视频教程,图文和视频结合,比如:图书介绍网站系统、抢购系统、大数据中台系统等。技术才是程序猿的最爱,码友们冲啊
如果码友觉得代码太长,可以从头到尾快速扫射一遍,了解大概即可。觉得有用后再转发收藏,以备不时之需。
问题描述
JDK1.8默认禁用了SSLv3,TLSv1, TLSv1.1协议,使用的是TLS1.2协议,而数据库使用的是TLS1.0协议,因此需要修改JDK的协议,使其打开TLS1.0协议。
异常信息1
具体异常信息如下:
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
或者
异常信息2
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
解决方法
查找java.security文件
找到java的java.security文件,因为我的是docker镜像,所以需要到容器中查找jdk的路径
[root@localhost ~]# docker exec -it bigdata-executor-a /bin/sh
sh-4.2# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
sh-4.2# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Dec 27 16:12 /usr/bin/java -> /etc/alternatives/java
sh-4.2# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Dec 27 16:12 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/bin/java
sh-4.2#
通过上面命令查到容器中的jdk目录为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/bin/java
拷贝/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security文件到宿主机
docker cp bigdata-executor-a:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security /data/java/jre/lib/security/
修改java.security文件
编辑宿主机/data/java/jre/lib/security/java.security文件
找到如下地方:
jdk.tls.disabledAlgorithms=SSLv3,TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, anon, NULL,
include jdk.disabled.namedCurves
修改为:
jdk.tls.disabledAlgorithms=RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, anon, NULL,
include jdk.disabled.namedCurves
重新运行服务
在运行命令中加入java.security文件映射,覆盖容器中的文件,重新运行即可解决问题
docker run -d -p 8017:8017 \
--name bigdata-executor-a \
-v /data/java/jre/lib/security/java.security:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security \
-e "JAVA_OPTIONS=-Xmx1000M -Xms500M -Xmn200M -XX:MaxMetaspaceSize=300M -XX:MetaspaceSize=200M -XX:HeapDumpPath=/tmp/document_server.dump" \
--net dadi-bridge \
--restart=always \
harbor.hy-zw.com/default/dispatch-center-executor:v3
鄙人编码十年多,在项目中也积累了一些工具类,很多工具类在每个项目都有在用,很实用。大部分是鄙人封装的,有些工具类是同事封装的,有些工具类已经不记得是ctrl+c的还是自己封装的了,现在有空就会总结项目中大部分的工具类,分享给各位码友。如果文章中涉及的代码有侵权行为请通知鄙人处理。
计划是先把工具类整理出来,正所谓工欲善其事,必先利其器。项目中不管是普通单体项目还是多模块maven项目或是分布式微服务,一部分功能模块都是可以重用的,工具类模块就是其中之一。
猜你喜欢
- 2024-12-11 Docker核心:深入理解Dockerfile
- 2024-12-11 教你测试开发丨测试小白也能听懂的Docker讲解和应用
- 2024-12-11 使用dockerfile部署springboot应用
- 2024-12-11 docker容器中使用java8并行流遇到的坑(线上)
- 2024-12-11 java 打包并上传到hub.docker.com上
- 2024-12-11 使用 Docker 部署 Spring Boot 项目,带劲
- 2024-12-11 全面升级!一套基于Spring Boot 3+JDK17的实战项目!
- 2024-12-11 银河麒麟V10 arm架构docker制作Dragonwell jdk镜像
- 2024-12-11 一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战
- 2024-12-11 docker安装jenkins并且通过jenkins部署项目
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)