Cloudcanal 创建SQL Server2008数据源报错处理
SQL SERVER 出现 TLS10 报错
现象
- 新增数据源连接,可能出现该问题
- 创建任务后任务,启动可能出现该问题
排查
原因
- Microsoft SQL Server 驱动默认启用 SSL 加密通信
- 较早期部署的 Microsoft SQL Server 数据库不支持 TLS 1.2 算法
- 由于 TLS 1.0/1.1 存在多个漏洞已经被标记为不安全,因此 JDK 默认禁用了它们导致报错
步骤
排除问题:方法1
- 进入 cloudcanal-sidecar,cloudcanal-console 容器(tgz 部署则进入对应的物理机)
- 编辑文件 $JAVA_HOME/jre/lib/security/java.security
- 修改 jdk.tls.disabledAlgorithms= 后面的值,删除 TLSv1, TLSv1.1 和 3DES_EDE_CBC
- 重启 console / sidecar 进程
排除问题:方法2
- 使用 SQL Server 2017 及以上版本
- 安装 微软 SQL SERVER TLS 1.2 安全更新补丁
找不到目录 $JAVA_HOME
[root@1e66eac7bac0 clougence]# cd $JAVA_HOME/jre/lib/security/
bash: cd: /jre/lib/security/: No such file or directory
定位 $JAVA_HOME/jre/lib/security/java.security方法:
[root@1e66eac7bac0 clougence]# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
[root@1e66eac7bac0 console]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@1e66eac7bac0 console]# echo $JAVA_HOME
[root@1e66eac7bac0 console]# rpm -qa | grep java
java-1.8.0-openjdk-headless-1.8.0.382.b05-1.el7_9.x86_64
java-1.8.0-openjdk-devel-1.8.0.382.b05-1.el7_9.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2023c-1.el7.noarch
[root@1e66eac7bac0 console]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug 31 13:51 /usr/bin/java -> /etc/alternatives/java
[root@1e66eac7bac0 console]# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Aug 31 13:51 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64/jre/bin/java
[root@1e66eac7bac0 console]# cd /usr/lib/jvm
[root@1e66eac7bac0 jvm]# ls
java java-1.8.0 java-1.8.0-openjdk java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64 java-openjdk jre jre-1.8.0 jre-1.8.0-openjdk jre-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64 jre-openjdk
[root@1e66eac7bac0 jvm]# cd java-1.8.0
[root@1e66eac7bac0 java-1.8.0]# vim jre/lib/security/java.security





