HTTPS сервера Glassfish 5 не работает "из коробки" - PullRequest
0 голосов
/ 20 мая 2018

Я читаю эту страницу учебника: https://javaee.github.io/tutorial/security-intro006.html Что объясняет, что я должен иметь возможность просматривать версию домашней страницы в формате SSL (index.html), перейдя по следующему URL-адресу: https://localhost:8181.Однако, когда я указываю своему браузеру на этот адрес, я получаю сообщение об ошибке, показанное на рисунке 1.

У меня есть чувство, что настройка может занять несколько часов в первый раз.У кого-нибудь есть учебник, который может помочь мне настроить HTTPS для моего петлевого адреса в Glassfish?

Я нашел ссылки на документацию на консоли администратора, работающей на порту 4848, но это сложно понять.Краткое руководство не охватывает этот аспект.Я имею в виду, что на консоли администратора есть краткое руководство, но настройка HTTPS не рассматривается.

enter image description here Рисунок 1 : страница HTTPS / SSL не работает - glassfish v5

ИСПРАВЛЕНО Я думаю, Майк помогмне исправить эту проблему.Спасибо тебе, Майк!Это было решение, которое я не смог бы придумать самостоятельно.Спасибо, что вытащил меня из этой дыры.

Однако, когда я теперь получаю доступ к этому безопасному веб-адресу по моему адресу обратной связи, https://localhost:8181, Я на самом деле вижу веб-страницу, а не страницу с ошибкой, показанную на рисунке 1. Однако черезпротокол в URL и слова, объясняющие, что соединение небезопасно. Как сделать соединение безопасным?

enter image description here Рисунок 2 : домашняя страница Glassfish HTTPS работает, но не защищена

1 Ответ

0 голосов
/ 21 мая 2018

Если вы посмотрите в журналах, вы, вероятно, увидите что-то вроде этого после того, как попытаетесь посетить защищенную страницу:

[2018-05-21T14:34:31.982+0100] [glassfish 5.0] [WARNING] [] [org.glassfish.grizzly.filterchain.DefaultFilterChain] [tid: _ThreadID=100 _ThreadName=http-listener-2(2)] [timeMillis: 1526909671982] [levelValue: 900] [[
  GRIZZLY0013: Exception during FilterChain execution
java.lang.NoClassDefFoundError: sun/security/ssl/SupportedEllipticCurvesExtension
        at sun.security.ssl.HelloExtensions.<init>(HelloExtensions.java:82)
        at sun.security.ssl.HandshakeMessage$ClientHello.<init>(HandshakeMessage.java:362)
        at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:223)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:984)

Решение этого вопроса - понизить вашу версию Java доверсия ниже 8u161 .

Я ответил на это более подробно в другом ответе , но, если вам не нравится идея понижения Java, вы можете использовать последняя версия GlassFish 5.0.1 ночью или переключается на Payara 5, которая является производной от GlassFish и в большинстве случаев должна работать одинаково.

Редактировать: Обратите внимание, что после внесения одного из этих изменений вам все равно потребуется добавить исключение безопасности, чтобы ваш браузер принял самозаверяющий сертификат, но страница не должна работать без дальнейших проблем;Я сам проверил это с помощью Java 8u144

...