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

feign調(diào)用跳過(guò)HTTPS的SSL證書(shū)校驗(yàn)配置過(guò)程

 更新時(shí)間:2025年07月15日 09:34:51   作者:秋分的秋刀魚(yú)  
Feign默認(rèn)驗(yàn)證SSL證書(shū),若服務(wù)器使用自簽名或內(nèi)部CA證書(shū)會(huì)導(dǎo)致連接失敗,解決方法是跳過(guò)校驗(yàn),但僅限測(cè)試環(huán)境,生產(chǎn)環(huán)境需嚴(yán)格驗(yàn)證以確保安全

一、問(wèn)題拋出

如果不配置跳過(guò)SSL證書(shū)校驗(yàn),當(dāng)Feign客戶端嘗試連接到一個(gè)使用自簽名證書(shū)的服務(wù)器時(shí),可能會(huì)拋出類似以下的異常:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

二、原因分析

如果不添加跳過(guò)SSL證書(shū)校驗(yàn)的配置,Feign客戶端在調(diào)用HTTPS服務(wù)時(shí)會(huì)嚴(yán)格驗(yàn)證服務(wù)器的SSL證書(shū)。

這種行為是默認(rèn)且推薦的做法,因?yàn)樗梢源_保通信的安全性和完整性。

以下是如果不添加該配置的具體影響:

2.1 證書(shū)驗(yàn)證

默認(rèn)行為:Feign客戶端會(huì)使用系統(tǒng)的默認(rèn)TrustManager來(lái)驗(yàn)證服務(wù)器的SSL證書(shū)。

驗(yàn)證內(nèi)容:

  • 證書(shū)有效性:檢查證書(shū)是否由受信任的證書(shū)頒發(fā)機(jī)構(gòu)(CA)簽發(fā)。
  • 證書(shū)過(guò)期:確保證書(shū)在有效期內(nèi)。
  • 證書(shū)鏈:驗(yàn)證證書(shū)鏈的完整性。
  • 主機(jī)名匹配:確保證書(shū)中的主機(jī)名與請(qǐng)求的主機(jī)名匹配。
  • 目的:驗(yàn)證服務(wù)器的身份,確保客戶端連接的是正確的服務(wù)器。

過(guò)程:

  • 客戶端請(qǐng)求服務(wù)器的證書(shū)。
  • 服務(wù)器返回證書(shū)。
  • 客戶端驗(yàn)證證書(shū)的有效性,包括證書(shū)是否由受信任的CA簽發(fā)、證書(shū)是否過(guò)期等。
  • 如果驗(yàn)證通過(guò),客戶端和服務(wù)器使用證書(shū)中的公鑰進(jìn)行密鑰交換,建立安全的通信通道。

2.2 影響

安全性增強(qiáng):確保數(shù)據(jù)傳輸?shù)陌踩院屯暾裕乐怪虚g人攻擊。

潛在問(wèn)題:

  • 自簽名證書(shū):如果服務(wù)器使用自簽名證書(shū)或內(nèi)部CA簽發(fā)的證書(shū),客戶端會(huì)拒絕連接,除非這些證書(shū)被顯式信任。
  • 證書(shū)過(guò)期或無(wú)效:如果證書(shū)過(guò)期或無(wú)效,客戶端會(huì)拒絕連接。
  • 主機(jī)名不匹配:如果證書(shū)中的主機(jī)名與請(qǐng)求的主機(jī)名不匹配,客戶端會(huì)拒絕連接。

三、解決方法-跳過(guò)SSL證書(shū)校驗(yàn)

風(fēng)險(xiǎn):跳過(guò)SSL證書(shū)校驗(yàn)會(huì)使得中間人攻擊成為可能,攻擊者可以攔截并篡改數(shù)據(jù)。

適用場(chǎng)景:僅在開(kāi)發(fā)和測(cè)試環(huán)境中使用,生產(chǎn)環(huán)境中應(yīng)嚴(yán)格配置和驗(yàn)證SSL證書(shū)。

實(shí)現(xiàn)方法:

  • 創(chuàng)建一個(gè)自定義的TrustManager,忽略證書(shū)校驗(yàn)。
  • 配置自定義的SSLSocketFactoryHostnameVerifier。

四、代碼配置,跳過(guò)SSL證書(shū)校驗(yàn)

@Slf4j
@Configuration
public class FeignClientConfig {

    @Bean
    public Logger.Level feignLogLevel() {
        return Logger.Level.FULL;
    }

    @Bean
    public CachingSpringLoadBalancerFactory cachingFactory(SpringClientFactory clientFactory) {
        return new CachingSpringLoadBalancerFactory(clientFactory);
    }

    @Bean
    @ConditionalOnMissingBean
    public Client feignClient(CachingSpringLoadBalancerFactory cachingFactory,
                              SpringClientFactory clientFactory) throws NoSuchAlgorithmException, KeyManagementException {
        SSLContext ctx = SSLContext.getInstance("SSL");
        X509TrustManager tm = new X509TrustManager() {
            @Override
            public void checkClientTrusted(X509Certificate[] chain, String authType) {
            }

            @Override
            public void checkServerTrusted(X509Certificate[] chain, String authType) {
            }

            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return new X509Certificate[0];
            }
        };
        ctx.init(null, new TrustManager[]{tm}, null);
        return new LoadBalancerFeignClient(new Client.Default(ctx.getSocketFactory(),
                HttpsURLConnection.getDefaultHostnameVerifier()),
                cachingFactory, clientFactory);
    }
}

五、總結(jié)

不添加跳過(guò)SSL證書(shū)校驗(yàn)的配置可以顯著提高安全性,但可能會(huì)導(dǎo)致連接失敗,特別是在使用自簽名證書(shū)或內(nèi)部CA證書(shū)的情況下。因此,建議在生產(chǎn)環(huán)境中正確配置和驗(yàn)證SSL證書(shū),而在開(kāi)發(fā)和測(cè)試環(huán)境中可以考慮使用跳過(guò)SSL證書(shū)校驗(yàn)的配置,但應(yīng)謹(jǐn)慎使用。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java面試題沖刺第十一天--集合框架篇(2)

    Java面試題沖刺第十一天--集合框架篇(2)

    這篇文章主要為大家分享了最有價(jià)值的兩道集合框架的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • spring-retry組件的使用教程

    spring-retry組件的使用教程

    Spring Retry的主要目的是為了提高系統(tǒng)的可靠性和容錯(cuò)性,當(dāng)方法調(diào)用失敗時(shí),Spring Retry可以在不影響系統(tǒng)性能的情況下,自動(dòng)進(jìn)行重試,從而減少故障對(duì)系統(tǒng)的影響,這篇文章主要介紹了spring-retry組件的使用,需要的朋友可以參考下
    2023-06-06
  • 淺析Java如何在Excel中添加或刪除分頁(yè)符

    淺析Java如何在Excel中添加或刪除分頁(yè)符

    一份排版精良、分頁(yè)合理的報(bào)表,不僅能提升專業(yè)度,更能確保信息的有效傳達(dá),本文將向大家介紹如何使用 Spire.XLS for Java 在Java中實(shí)現(xiàn)Excel分頁(yè)符的添加與刪除,有需要的可以了解下
    2025-11-11
  • Java數(shù)據(jù)結(jié)構(gòu)之查找

    Java數(shù)據(jù)結(jié)構(gòu)之查找

    本文主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中查找的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • SpringMVC源碼解讀之HandlerMapping

    SpringMVC源碼解讀之HandlerMapping

    這篇文章主要介紹了SpringMVC源碼解讀之HandlerMapping 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • javaweb上傳下載實(shí)例完整版解析(下)

    javaweb上傳下載實(shí)例完整版解析(下)

    這篇文章主要為大家詳細(xì)解析了javaweb上傳下載實(shí)例,本文重點(diǎn)在于文件下載功能的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java中Tuple的功能及使用詳解

    Java中Tuple的功能及使用詳解

    Java中的Tuple是一種非常有用的數(shù)據(jù)結(jié)構(gòu),它可以讓開(kāi)發(fā)者在處理多個(gè)數(shù)據(jù)元素時(shí)更加方便和高效,通過(guò)Tuple,我們可以將多個(gè)變量打包成一個(gè)對(duì)象,從而減少了代碼量,提高了代碼可讀性,這篇文章主要介紹了Java中Tuple的功能及使用場(chǎng)景,需要的朋友可以參考下
    2024-01-01
  • SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口的實(shí)踐記錄

    SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口的實(shí)踐記錄

    這篇文章主要介紹了SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 利用Java實(shí)現(xiàn)讀取WPS?Excel中嵌入的圖片

    利用Java實(shí)現(xiàn)讀取WPS?Excel中嵌入的圖片

    許多數(shù)據(jù)文件中可能包含嵌入式圖片,這些圖片對(duì)于數(shù)據(jù)分析和可視化非常重要,下面我們就來(lái)看看如何使用Java讀取WPS?Excel中嵌入的圖片吧
    2024-11-11
  • java &與&&的區(qū)別及實(shí)例

    java &與&&的區(qū)別及實(shí)例

    這篇文章主要介紹了java &與&&的區(qū)別的相關(guān)資料,并附簡(jiǎn)單實(shí)例,幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下
    2016-10-10

最新評(píng)論

荣昌县| 杭锦后旗| 玉环县| 连江县| 隆回县| 丁青县| 合作市| 涿鹿县| 武强县| 灌南县| 鄂托克前旗| 丁青县| 龙州县| 长葛市| 扎兰屯市| 岱山县| 云林县| 玉溪市| 乃东县| 佛冈县| 德清县| 木里| 绵竹市| 定安县| 宜兴市| 伊通| 宁河县| 忻城县| 莫力| 札达县| 西林县| 林芝县| 阿鲁科尔沁旗| 石柱| 明溪县| 大冶市| 大关县| 榆中县| 大丰市| 英山县| 齐河县|