Я пытаюсь запросить конечную точку https с помощью JavaEE8 из приложения, развернутого на Payara5 и работающего в док-контейнере (на базе Alpine Linux).Приведенный ниже код отлично работает с моей машины разработчика, но из контейнера докера я получаю печально известную Unrecognized SSL message, plaintext connection
.Также я работаю через VPN с использованием агента Cisco.
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 или тому подобное, но я не могу понять, откуда это происходит ... Ошибкасообщение не имеет никакого смысла для меня в этом контексте ...