2016-12-22 3 views
0

ignoreSSLIssues()を使用しても、サービスのルートがhttpからhttpsに切り替えられたため、Springブート・アクチュエータ/ヘルス・エンドポイントは使用できません。Groovy HTTPBuilderがSSLエンドポイントでサービスを使用できないようにします

他のSSLエンドポイントでこのパターンを正常に使用しました。なぜこのサービスは利用できないサービスを取得しますか?ブラウザで同じURLにアクセスできます。

def url = "https://some.service.company.com" 
def client = new HTTPBuilder(url) 
client.ignoreSSLIssues() 
def json = client.get(path: "/health") 
println json 

groovyx.net.http.HttpResponseException:サービスは利用できません

+0

が見えます。 Groovy HTTPBuilderが正しく処理するかどうかは考えられませんか? –

答えて

0

今のところ、それはおそらくGroovyのHTTPBuilderにはないTLSサーバー名Idendification(SNI)を扱うので、私はただのApache HTTPクライアントライブラリを使用していましたそれをする方法を見つけることができませんでした。ここで

は、私は必然的に(大体)のApache HTTPクライアントでSSL経由で同じことを達成する方法である。問題は、TLSサーバー名Idendification(SNI)に関連しているよう

SSLContextBuilder builder = new SSLContextBuilder() 
    def trustAll = [isTrusted: { X509Certificate[] cert, String s -> true } 
    ] as TrustStrategy 
    builder.loadTrustMaterial(null, trustAll) 
    def factory = new SSLConnectionSocketFactory(builder.build()) 
    def httpClient = HttpClients.custom().setSSLSocketFactory(factory).build() 

    String url = "https://some.service.com/health" 
    HttpGet getRequest = new HttpGet(url) 
    HttpResponse response = httpClient.execute(getRequest) 
関連する問題