最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server驅(qū)動(dòng)和TLS版本不兼容的原因分析和解決方案

 更新時(shí)間:2025年11月12日 09:27:48   作者:Dream_sky分享  
這篇文章主要介紹了在將Java程序部署到Docker容器時(shí),由于SQL Server和OpenJDK 8之間的TLS/SSL版本不兼容問題導(dǎo)致的錯(cuò)誤,通過修改`java.security`文件放寬TLS/SSL的安全限制,解決了本地服務(wù)器和Docker容器的兼容性問題,需要的朋友可以參考下

一、問題描述

聲明:java程序是docker容器化部署的 進(jìn)行期初數(shù)據(jù)定時(shí)同步功能,sql server同步至mysql中,本地調(diào)用正常,發(fā)到服務(wù)器環(huán)境就會(huì)報(bào)錯(cuò)如下

- java.security path: /usr/local/openjdk-8/jre/lib/security
Security providers: [SUN version 1.8, SunRsaSign version 1.8, SunEC version 1.8, SunJSSE version 1.8, SunJCE 	vers1on 1.8,
SunJGSS version 1.8, SunSASL version 1.8, )
XMLDSig version 1.8, SunPCSC version 1.8]
SSLContext provider info: Sun JSSE provider(PKCS12, SunX509/PKIX key/trust factories,
SSLv3/TLSv1/TLSvl.1/TLSvl.2/TLSvl.3)
SSLContext provider services:

配置文件如下:

  # 動(dòng)態(tài)數(shù)據(jù)源配置
  datasource:
    dynamic:
      primary: master
      datasource:
        slave:
          url: jdbc:sqlserver://192.168.0.1:1433;DatabaseName=test
          username: root
          password: xxxxxxx
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
<!-- sqlserver驅(qū)動(dòng) -->
<dependency>
     <groupId>com.microsoft.sqlserver</groupId>
     <artifactId>sqljdbc4</artifactId>
     <version>4.0</version>
 </dependency>

二、原因分析:

這是一個(gè)Java安全配置相關(guān)的信息輸出,通常是在啟動(dòng)應(yīng)用或檢查SSL配置時(shí)出現(xiàn)的。

通過異常信息可以看出

  • Java安全文件路徑: /usr/local/openjdk-8/jre/lib/security
  • Java版本: OpenJDK 8
  • 顯示TLS/SSL支持的協(xié)議版本:SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

檢測到當(dāng)前數(shù)據(jù)庫使用的協(xié)商使用的是 TLSv1 協(xié)議,而項(xiàng)目中使用的時(shí)jdk8,它的協(xié)議版本高,不兼容 TLSv1 協(xié)議。
不能改其他項(xiàng)目的數(shù)據(jù)庫的版本,則更改jdk安全配置文件java.security。

三、解決方案

3.1 服務(wù)器本地解決方案

修改java.security文件

放寬TLS/SSL的安全限制,解決某些老系統(tǒng)或內(nèi)部系統(tǒng)連接時(shí)的兼容性問題
# 移除了 TLSv1, TLSv1.1 的禁用

修改前

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

修改后(放寬策略):

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA,\
	 DH keySize < 1024, EC keySize < 224, anon, NULL, ECDH

3.2 Docker容器部署解決方案

因?yàn)槊看蜫enkins部署,都會(huì)根據(jù)Dockerfile生成新的鏡像和啟動(dòng)容器,修改需要修改容器內(nèi)的安全文件,不可能每次發(fā)版都改所以修改Dockerfile文件

FROM openjdk:8-jdk
ADD app/target/app.jar /app/app.jar
RUN sed -i 's/^jdk.tls.disabledAlgorithms=.*/jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, anon, NULL, ECDH/' /usr/local/openjdk-8/jre/lib/security/java.security
RUN echo 'Asia/Shanghai' >/etc/timezone
ENV JAVA_OPTS=""
ENV JAVA_ACTIVE=""
ENTRYPOINT exec java ${JAVA_OPTS} -jar ${JAVA_ACTIVE} /app/jb-access-server-business.jar
EXPOSE 35010

最主要就是RUN sed這行

  • sed: 流編輯器,用于文本處理
  • -i : 直接修改原文件
's/^jdk.tls.disabledAlgorithms=.*/新的值/'

s/原內(nèi)容/新內(nèi)容/: 替換命令
^jdk.tls.disabledAlgorithms=.*: 匹配以"jdk.tls.disabledAlgorithms="開頭的整行

到此這篇關(guān)于SQL Server驅(qū)動(dòng)和TLS版本不兼容的原因分析和解決方案的文章就介紹到這了,更多相關(guān)SQL Server驅(qū)動(dòng)和TLS版本不兼容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL 注入提取數(shù)據(jù)方法小結(jié)

    SQL 注入提取數(shù)據(jù)方法小結(jié)

    SQL注入是一種代碼注入技術(shù),本文主要介紹了SQL 注入提取數(shù)據(jù)方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • SQL?Server?異地?cái)?shù)據(jù)庫每日同步作業(yè)操作圖文詳解

    SQL?Server?異地?cái)?shù)據(jù)庫每日同步作業(yè)操作圖文詳解

    最近因?yàn)榻?jīng)常有攻擊,所以考慮到網(wǎng)站的安全問題,所以多弄了幾臺(tái)服務(wù)器并實(shí)現(xiàn)數(shù)據(jù)庫與文件每天同步,這里主要介紹了sqlserver數(shù)據(jù)的每天同步問題
    2024-04-04
  • ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解

    ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解

    開放數(shù)據(jù)庫互連(ODBC)是微軟提出的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn),開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個(gè)規(guī)范,這些API獨(dú)立于不同廠商的DBMS,也獨(dú)立于具體的編程語言,下面這篇文章主要給大家介紹了關(guān)于ODBC連接數(shù)據(jù)庫以SQLserver為例的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 將sqlserver數(shù)據(jù)遷移到mysql的詳細(xì)步驟記錄

    將sqlserver數(shù)據(jù)遷移到mysql的詳細(xì)步驟記錄

    這篇文章主要介紹了將SQL?Server數(shù)據(jù)遷移到MySQL的步驟,包括導(dǎo)出數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)格式和導(dǎo)入數(shù)據(jù),通過示例和工具說明,幫助大家順利完成遷移任務(wù),需要的朋友可以參考下
    2025-01-01
  • SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換

    SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換

    這篇文章介紹了SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 解決在window下執(zhí)行SQLSERVER定時(shí)備份的問題

    解決在window下執(zhí)行SQLSERVER定時(shí)備份的問題

    這篇文章主要介紹了在window下執(zhí)行SQLSERVER的定時(shí)備份,文末給大家介紹了windows任務(wù)計(jì)劃定時(shí)備份sqlserver數(shù)據(jù)庫的相關(guān)知識(shí),使用windows的任務(wù)計(jì)劃新建一個(gè)sqlserver數(shù)據(jù)庫的定時(shí)備份任務(wù),需要的朋友可以參考下
    2022-01-01
  • SQL中的用戶管理權(quán)限與用戶詳解

    SQL中的用戶管理權(quán)限與用戶詳解

    這篇文章給大家介紹SQL中的用戶管理權(quán)限與用戶的相關(guān)操作,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2026-05-05
  • SQL?Server?字段設(shè)自增的實(shí)現(xiàn)流程

    SQL?Server?字段設(shè)自增的實(shí)現(xiàn)流程

    這篇文章主要介紹了SQL?Server?字段設(shè)自增的實(shí)現(xiàn)方法,在本文中,我將先向你展示整個(gè)實(shí)現(xiàn)的流程,然后逐步解釋每個(gè)步驟需要做什么,并提供相應(yīng)的代碼示例,需要的朋友可以參考下
    2023-12-12
  • SqlServer 索引自動(dòng)優(yōu)化工具

    SqlServer 索引自動(dòng)優(yōu)化工具

    前段接手了個(gè)優(yōu)化項(xiàng)目,大概要求是對(duì)公司現(xiàn)有的1W多張表進(jìn)行索引優(yōu)化,完善現(xiàn)有的,剔除無效的索引
    2012-08-08
  • sql 函數(shù)大全 比較常用的一些函數(shù)整理

    sql 函數(shù)大全 比較常用的一些函數(shù)整理

    學(xué)習(xí)sqlserver的朋友,可以參考下,掌握這些函數(shù)可以方便的對(duì)字段的字符進(jìn)行處理。
    2010-04-04

最新評(píng)論

垫江县| 禄丰县| 右玉县| 南平市| 江孜县| 固镇县| 武川县| 偏关县| 满洲里市| 准格尔旗| 嘉善县| 石楼县| 南澳县| 玉山县| 甘肃省| 孝昌县| 左贡县| 和顺县| 哈密市| 旌德县| 广河县| 买车| 锡林浩特市| 富源县| 安远县| 奈曼旗| 贵定县| 清原| 嘉义市| 林芝县| 长垣县| 江都市| 望谟县| 丰都县| 广宗县| 湘西| 东城区| 上高县| 孟州市| 拉萨市| 乡宁县|