1

Docker コンテナー (Alpine Linux ベース) で実行されている Payara5 にデプロイされたアプリケーションから、JavaEE8 を使用して https エンドポイントを照会しようとしています。以下のコードは私の開発者のマシンからは正常に動作しますが、docker コンテナー内からは悪名高いUnrecognized SSL message, plaintext connection. また、Cisco エージェントを使用して VPN で作業しています。

Response response = ClientBuilder.newClient()
                                     .register(new Authenticator("",
                                                                 ""))
                                     .target("https://my-company-intranet.net")
                                     .path("resource/to/post")
                                     .request(MediaType.APPLICATION_JSON)
                                     .post(Entity.entity(vehicleConfiguration,
                                                         MediaType.APPLICATION_JSON_TYPE));

今まで試したこと

  • .sslContext()で使用してカスタム SSLContext を追加しますClientBuilder。ここでTLSv1.2、一般的な `HostnameVerifier allHostsValid = (hostname, sslSession) -> true`を設定します。
  • に設定-Djavax.net.debug=sslするdomain.xmlと、握手が で止まることがわかりますhttp-thread-pool::http-listener-1(3), WRITE: TLSv1.2 Handshake, length = 228
  • System.setProperty("https.nonProxyHosts","*.my-company-intranet.net");

Java バージョン

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (IcedTea 3.9.0) (Alpine 8.181.13-r0)

証明書に問題があるか、Payara の構成が間違っているか、似たようなものだと思いますが、これがどこから来ているのか理解できません...このコンテキストでは、エラーメッセージは私には意味がありません...

4

0 に答える 0