当前位置: 首页 > 知识库问答 >
问题:

为什么不能远程访问glassfish管理控制台?

李云
2023-03-14

我有一个虚拟机与Centos7在虚拟盒。我已经从这里安装了GlassFish5.0:完整平台-GlassFish5.0。我只是在/opt中解压缩了文件夹。我用的是“主机专用”。

以下是我的java版本:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

我使用以下命令启用了安全管理:

asadmin --host localhost --port 4848 enable-secure-admin
ssh user@x.x.x.x

然后:

cd /opt/glassfish5/bin
./asadmin start-domain domain1

然后我回到我的主机,我打开谷歌chrome和:

  1. http://x.x.x.x.x:8080似乎不错
  2. http://x.x.x.x.x:4848强制执行https,然后浏览器告诉我无法访问该网站
./asadmin --host localhost --port 4848 disable-secure-admin

但我得到以下异常:

NCLS-ADMIN-00010
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Command disable-secure-admin failed.

调用管理控制台后,日志中出现以下异常:

[2018-05-16T16:35:59.644+0200] [glassfish 5.0] [WARNING] [] [org.glassfish.grizzly.filterchain.DefaultFilterChain] [tid: _ThreadID=42 _ThreadName=admin-listener(3)] [timeMillis: 1526481359644] [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)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:924)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:921)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1379)
        at org.glassfish.grizzly.ssl.SSLUtils.executeDelegatedTask(SSLUtils.java:274)
        at org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep(SSLBaseFilter.java:708)
        at org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep(SSLBaseFilter.java:622)
        at org.glassfish.grizzly.ssl.SSLBaseFilter.handleRead(SSLBaseFilter.java:334)
        at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
        at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
        at org.glassfish.grizzly.portunif.PUFilter.handleRead(PUFilter.java:231)
        at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
        at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
        at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539)
        at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
        at java.lang.Thread.run(Thread.java:748)
]]

共有1个答案

韦阳晖
2023-03-14

答案是您的Java版本对于GlassFish来说太新了。我已经在这里回答了这个问题:https://stackoverflow.com/a/49998266/212224

要停止Java.lang.noClassDefFounderRorro,您需要使用不高于8u151的Java版本

这是由于Grizzly在HTTP/2中使用的内部JDK类发生了变化。

GlassFish5.0没有Grizzly的最新版本,Grizzly与最新的Java8更新兼容。如果您正在使用GlassFish5.0并看到这些错误,您有两个选择:

  1. 将Java降级到8u152或更早
  2. 每晚下载最新的GlassFish 5.0.1,在这里应该可以修复

参考:https://github.com/javaee/glassfish/issues/22436#issuecomment-374829430

 类似资料:
  • 我遵循本教程,在远程主机上安装GlassFish时做了一些改动。 Debian 6.0.5取代了Ubuntu 10.04 一切工作正常,除了Web管理控制台。我可以部署应用程序(例如:Jenkins)通过CLI和asadmin工作。但是我不能通过超文本传输协议访问网络管理控制台://my-Domina: 4848 我的浏览器(Safari)通知我关于我的自签名证书,过了一会儿,它报告说它不能建立到

  • 我尝试在docker容器上的glassfish上部署我的网络应用程序。当我访问管理控制台([IP]: 4848),我可以访问登录页面,但有这个错误消息,我不能登录: 必须启用安全管理员才能远程访问DAS。 因此,我在其他帖子中发现,我需要在bin文件夹中添加以下行: 但我不能这么做,因为我的glassfish实例在一个容器上。 为了了解更多信息,我用以下方法运行glassfish:

  • 启动Glassfish后,无法访问远程Glassfish站点。我使用的地址是123.123.12.12:14848(ip号已更改) root@debian:/opt/glassfish5/glassfish/bin#./asadmin start-domain等待domain1启动..........已成功启动域:domain1域位置:/opt/GlassFish5/GlassFish/domai

  • 我在服务器上得到的日志是“user[]from host localhost not have administration access#]”,但我已经更改了管理密码并用它登录。所以我不明白为什么我的用户是空的。而且,尽管我认为这与此无关,但它说证书已经过期。

  • 我有一个无头CentOS 7盒子,我有访问权限。我已经成功安装了OpenShift v4.2-代码就绪容器版本。我能够使用工具、创建项目、从服务访问公开路由等。 我想探索来自Istio的可视化——服务网格。我如何远程访问web控制台,以便可以浏览服务网格? Katacoda似乎没有OpenShift 4.2集群。

  • 本文向大家介绍Dubbo的管理控制台能做什么?相关面试题,主要包含被问及Dubbo的管理控制台能做什么?时的应答技巧和注意事项,需要的朋友参考一下 管理控制台主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。