2017-08-24 14 views
0

私は、カスタムのHostnameVerifierを使用するようにSpring Cloud Feign Clientを設定しようとしています。私はカスタムHostnameVerifierが証明書の問題を無視する必要があります。どうやってやるの?そこにボード上のHttpURLConnectionでLoadBalancerFeignClientを作成されると、それののHostnameVerifierの設定を上書きすることはできません Feign-ClientでHostnameVerifierをspring-cloud-netflix-feignから設定するには

@FeignClient(name = "AccountSettingsClient", url = "${account.settings.service.url}", decode404 = true, 
     configuration = AccountSettingsClientConfig.class, fallbackFactory = AccountSettingsClientFallbackFactory.class) 
public interface AccountSettingsClient { 
    @RequestMapping(method = RequestMethod.GET, value = "/settings/{uuid}") 
    AccountSettings accountSettings(@PathVariable("uuid") String uuid); 
} 

@Component 
@Slf4j 
class AccountSettingsClientFallbackFactory implements FallbackFactory<AccountSettingsClient> { 
    @Override 
    public AccountSettingsClient create(Throwable cause) { 
     return uuid -> { 
      log.warn("Falling back to null.", cause); 
      return null; 
     }; 
    } 
} 

@Configuration 
@RequiredArgsConstructor 
@EnableConfigurationProperties(SomeProperties.class) 
@EnableFeignClients 
public class AccountSettingsClientConfig { 
    private final SomeProperties someProperties; 

    @Bean 
    RequestInterceptor oauth2FeignRequestInterceptor() { 
     return new OAuth2FeignRequestInterceptor(new 
      DefaultOAuth2ClientContext(), resource()); 
    } 
} 

答えて

0

デフォルト:

は、ここに私の現在の設定です。それをオーバーライドするには、OkHttpやApache Http Clientのような別のクライアントを選択し、通信の依存関係を追加してから、すべての設定でクライアントを上書きすることができます。

私はOkHttpClientを選んだと私AccountSettingsConfigフォローBeanに追加:

@Bean 
public okhttp3.OkHttpClient okHttpClient() { 
    return new OkHttpClient.Builder().hostnameVerifier((s, sslSession) -> true) 
      .build(); 
} 
関連する問題