Glassfish 5 服务器的 HTTPS 不工作 "Out of the Box"

Glassfish 5 Server's HTTPS Not Working "Out of the Box"

我正在阅读此教程页面:https://javaee.github.io/tutorial/security-intro006.html Which explains that I should be able to view the SSL version of the home page (index.html) by going to the following URL: https://localhost:8181。但是,当我将浏览器指向该地址时,我收到如图 1 所示的错误。

我觉得第一次配置这可能需要几个小时。有没有人有教程可以帮助我在 Glassfish 中的环回地址上配置 HTTPS?

我在管理控制台 运行 端口 4848 上找到了文档链接,但这很难理解。快速入门指南不包括这方面的内容。我的意思是在管理控制台上也有一个快速入门指南,但不包括配置 HTTPS。

图 1:HTTPS/SSL 页面不工作 - glassfish v5

固定 我认为 Mike 帮助我解决了这个问题。谢谢迈克!这是我自己无法想出的解决方案。谢谢你把我从那个坑里救出来。

但是,当我现在在我的环回地址 https://localhost:8181 上访问这个安全网址时,我实际上看到的是网页,而不是图 1 中显示的错误页面。但是,有一条红线穿过URL 中的协议和解释连接不安全的文字。 如何确保连接安全?

图 2:Glassfish HTTPS 主页工作但不安全

如果您查看日志,您可能会在尝试访问安全页面后看到类似这样的内容:

[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 的版本。

but, if you do not like the idea of downgrading Java, you could either use the latest GlassFish 5.0.1 nightly or switch to Payara 5, which is derived from GlassFish 在大多数情况下应该是一样的。

编辑: 请注意,进行其中一项更改后,您仍需要添加安全例外,以便您的浏览器接受自签名证书,但该页面应该可以正常工作;我自己用 Java 8u144

验证了这一点