微服务springcloud无法访问https 报错:https protocol is not supported

一:问题

在这里插入图片描述
报错信息:[trix-baiduapi-1] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {s}->https://192.168.1.122:10000: https protocol is not supported

即无法访问https

二:添加配置使其可以访问https

该配置作用: @Configuration注解修饰的类中进行证书认证忽略的操作,这样就可以访问https开头的url。

@Configuration
public class FeignConfig {
    @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) throws CertificateException {
            }
            @Override
            public void checkServerTrusted(X509Certificate[] chain,
                                           String authType) throws CertificateException {
            }
            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        };
        ctx.init(null, new TrustManager[]{tm}, null);
        return new LoadBalancerFeignClient(new Client.Default(ctx.getSocketFactory(),
                new HostnameVerifier() {
                    
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        // TODO Auto-generated method stub
                        return true;
                    }
                }) ,
                cachingFactory, clientFactory);
    }
} 

三:参考链接

https://blog.csdn.net/nb7474/article/details/86700847

你可能感兴趣的:(微服务springcloud无法访问https 报错:https protocol is not supported)