国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Feign忽略Https的SSL最佳方案(且保證負載均衡將失效)

這篇具有很好參考價值的文章主要介紹了Feign忽略Https的SSL最佳方案(且保證負載均衡將失效)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • 同時解決Https的SSL證書驗證問題和feign不支持Patch請求方法的問題

代碼 1. 工具類 OkHttpUtils.java

import javax.net.ssl.*;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;

/**
 * @author Vania
 */
public class OkHttpUtils {
    /**
     * X509TrustManager instance which ignored SSL certification
     */
    public static final X509TrustManager IGNORE_SSL_TRUST_MANAGER_X509 = 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[]{};
        }
    };

    /**
     * Get initialized SSLContext instance which ignored SSL certification
     *
     * @return
     * @throws NoSuchAlgorithmException
     * @throws KeyManagementException
     */
    public static SSLContext getIgnoreInitedSslContext() throws NoSuchAlgorithmException, KeyManagementException {
        SSLContext sslContext = SSLContext.getInstance("SSL");
        sslContext.init(null, new TrustManager[]{IGNORE_SSL_TRUST_MANAGER_X509}, new SecureRandom());
        return sslContext;
    }

    /**
     * Get HostnameVerifier which ignored SSL certification
     *
     * @return
     */
    public static HostnameVerifier getIgnoreSslHostnameVerifier() {
        return new HostnameVerifier() {
            @Override
            public boolean verify(String arg0, SSLSession arg1) {
                return true;
            }
        };
    }
}

代碼 2. 工具類 FeignConfiguration.java

import feign.Client;
import feign.okhttp.OkHttpClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.netflix.ribbon.SpringClientFactory;
import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;
import org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;

@Slf4j
@Configuration
public class FeignConfiguration {

    /**
     * 解決 feign client 中https不安全的問題
     *
     * @param cachingFactory
     * @param clientFactory
     * @return
     */
    @Bean
    public Client feignClient(CachingSpringLoadBalancerFactory cachingFactory, SpringClientFactory clientFactory) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException {
        // 此處必須為 new LoadBalancerFeignClient 否則負載均衡將失效(現(xiàn)象:消費者無法從注冊中心獲取服務(wù)提供者的ip)
        // 這個只能解決忽略https證書驗證
        // return new LoadBalancerFeignClient(new Client.Default(SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build().getSocketFactory(), new NoopHostnameVerifier()),
        //        cachingFactory, clientFactory);
        // 使用okhttp 解決證書驗證 和 Patch請求方法不支持的問題
        return new LoadBalancerFeignClient(new OkHttpClient(new okhttp3.OkHttpClient()
                .newBuilder()
                .sslSocketFactory(OkHttpUtils.getIgnoreInitedSslContext().getSocketFactory(), OkHttpUtils.IGNORE_SSL_TRUST_MANAGER_X509)
                .hostnameVerifier(OkHttpUtils.getIgnoreSslHostnameVerifier())
                .build()),
                cachingFactory, clientFactory);
    }
}

文章來源地址http://www.zghlxwxcb.cn/news/detail-647177.html

到了這里,關(guān)于Feign忽略Https的SSL最佳方案(且保證負載均衡將失效)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【SpringCloud Alibaba】Nacos服務(wù)管理與Feign負載均衡

    【SpringCloud Alibaba】Nacos服務(wù)管理與Feign負載均衡

    目錄 一、微服務(wù)搭建 1.1 服務(wù)提供者與服務(wù)消費者 1.2 依賴關(guān)系 ? 二、服務(wù)注冊與負載均衡使用 2.1 Nacos 實現(xiàn)服務(wù)的注冊與發(fā)現(xiàn) 2.2 Loadbalancer負載均衡、Feign聲明式服務(wù)調(diào)用 2.3 示例綜合實現(xiàn) 2.3.1 服務(wù)注冊與發(fā)現(xiàn)測試 2.3.2 負載均衡測試? 服務(wù)提供者 服務(wù)的被調(diào)用方(即:為其他微

    2024年02月03日
    瀏覽(23)
  • 【SpringCloud Alibaba】(四)使用 Feign 實現(xiàn)服務(wù)調(diào)用的負載均衡

    【SpringCloud Alibaba】(四)使用 Feign 實現(xiàn)服務(wù)調(diào)用的負載均衡

    在上一文中,我們實現(xiàn)了服務(wù)的自動注冊與發(fā)現(xiàn)功能。但是還存在一個很明顯的問題:如果用戶微服務(wù)和商品微服務(wù)在服務(wù)器上部署多份的話,之前的程序無法實現(xiàn)服務(wù)調(diào)用的負載均衡功能。 本文就帶著大家一起實現(xiàn)服務(wù)調(diào)用的負載均衡功能 負載均衡:將原本由一臺服務(wù)器

    2024年02月15日
    瀏覽(28)
  • HTTPS請求忽略SSL證書

    現(xiàn)場環(huán)境: 后端服務(wù)部署在docker內(nèi),遠程調(diào)用https接口,線上報錯: unable to find valid certification path to requested target 解決方案: 設(shè)置SSLSocketFactory忽略證書校驗 實現(xiàn)案例: 使用的cn.hutool.http.HttpRequest工具類請求的數(shù)據(jù),支持設(shè)置頭部、表單、body、超時時間等關(guān)鍵信息 工具類 SSL

    2024年02月11日
    瀏覽(22)
  • RestTemplate HTTPS請求忽略SSL證書

    使用RestTemplate發(fā)送HTTPS請求的時候,出現(xiàn)了這樣的一個問題: RestTemplate 默認不支持https協(xié)議 解決方案: ????????第一種是忽略認證 ????????第二種是導入證書,比較復雜(比第一種安全)? 這里說一下第一種解決方案,忽略認證 版本:Spring Boot2.x RestTemplateConfig 測試代

    2024年02月10日
    瀏覽(25)
  • curl 忽略https的ssl的證書驗證

    curl 忽略https的ssl的證書驗證

    今天使用curl 測試url請求出現(xiàn)了需要ssl證書的驗證 curl的用法

    2024年02月17日
    瀏覽(31)
  • 請求第三方Https地址忽略SSL證書校驗

    說明:個人使用記錄 需要在請求之前忽略ssl協(xié)議,這里是直接使用靜態(tài)方法初始化時就執(zhí)行了 也需要在請求接口之前忽略SSL

    2024年04月10日
    瀏覽(27)
  • hutool工具進行https接口調(diào)用(忽略ssl認證)

    1.設(shè)置忽略SSl工具類 2.工具類設(shè)置

    2024年02月04日
    瀏覽(16)
  • java 遠程調(diào)用 httpclient 調(diào)用https接口 忽略SSL認證

    httpclient 調(diào)用https接口,為了避免需要證書,所以用一個類繼承DefaultHttpClient類,忽略校驗過程。下面是忽略校驗過程的代碼類:SSLClient? 然后再調(diào)用的遠程get、post請求中使用SSLClient 創(chuàng)建Httpclient ,代碼如下:

    2024年02月11日
    瀏覽(25)
  • Openfeign和okHttp的https請求忽略ssl證書認證

    在通過feign和okhttp請求外部接口時,出現(xiàn)了以下問題: Servlet.service() for servlet [dispatcherServlet] in context with path [/xxxx] threw exception [Request processing failed; nested exception is feign.RetryableException: java.security.cert.CertificateException: No subject alternative DNS name matching www.xx.xx.cn found. executing GET htt

    2024年02月07日
    瀏覽(21)
  • Java get/post的https請求忽略ssl證書認證

    unable to find valid certification path to requested target 工具類 使用方法

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包