описание проблемы
Получение ошибки «javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время рукопожатия» при отправке запроса SOAP по URL-адресу Https
Окружающая среда:
1) Weblogic 10.3.6.0.1
2) версия java "1.6.0_31" Java(TM) SE Runtime Environnnent (сборка 1.6.0_31-b04)
3) HTTPS-сервер, на который отправляется запрос, — Jetty Server< бр>
Обзор:
1) В предыдущем выпуске приложения оно отправляло SOAP-сообщение на сервер 1 по URL-адресу https
2) В текущем выпуске мы реализовали новое требование, когда мы используем сторонний клиентский jar, который внутренне вызывает сторонний https-сервер
3) Сторонний клиентский jar настраивает SSL-сертификат и отправляет запрос. Для SSL они используют порт 443, и мы открыли прокси для их хост-сервера.
4) Теперь у нас есть 2 сторонних сервера, к которым мы подключаемся через HTTPS. HTTPS-порт сервера 1 — 30042, https-порт Server2 — 443.
Сценарий использования для ошибки:
1) Отправьте запрос на сервер 1 через https, получив правильный ответ.
2) Отправьте запрос на сервер 2, используя банку стороннего клиента через прокси-сервер, и получите правильный ответ.
3) Отправьте запрос на сервер 1 через https, происходит сбой с ошибкой «javax.net.ssl.SSLHandshakeException: соединение с удаленным хостом закрыто во время рукопожатия».
4) Отправьте запрос на сервер 2 с помощью клиентского jar-файла стороннего производителя, чтобы получить правильный ответ.
5 ) На сервере 1 это всегда будет сбой, и мы не сможем отправить сообщение SOAP через Https
6) Для сервера 1 приложение использует SOAPConnection и URL API для публикации сообщения SOAP через URL Https
7) Для сервера 2 приложение используя стороннюю банку, которая внутренне открывает сокет и пишет на нем
Коды ошибок
-------------------------------------------------- -
javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время рукопожатия
Недавние изменения в этой среде
В настоящее время мы перенесли наше приложение с серверов Solaris на серверы Suse Lunix.
Характеристики процессора
Linux onsrnasdfgpsdev1 2.6.32.54-0.3-по умолчанию #1 SMP 27-01-2012 17:38:56 +0100 x86_64 x86_64 x86_64 GNU/Linux
Weblogic 10.3.6.01 версия java "1.6.0_31" Java(TM) SE Runtime Среда (сборка 1.6.0_31-b04) Java HotSpot(TM) 64-разрядная виртуальная машина сервера (сборка 20.6-b01, смешанный режим)
Обходной путь
• Для подключения к серверу 1, если мы создадим необработанный сокет и установим хост и порт (30042).
• Запрос будет выполнен нормально.
• Но если мы используем SOAPConnection или HttpsURLConnection, запрос не будет выполнен и выдаст ошибку рукопожатия.
• Если мы используем URL-адрес Http для Server1, все работает нормально
-Dweblogic.security.SSL.trustedCAKeyStore
)? - person Display Name is missing   schedule 22.07.2013