2013-02-18 118 views
4

我有一个问题登录到Glassfish 3.1.2的管理控制台,在四个相同(至少这是理论上)在不同服务器上配置域的其中一个登录。当我登录上不工作的人,我重定向到一个空白页在:Glassfish管理控制台加载空白页

的https:// {服务器} {管理端口}/j_security_check

它是伴随着这个日志消息:

[#|2013-02-18T09:58:02.912-0500|SEVERE|glassfish3.1.2|org.glassfish.admingui|_ThreadID=20;_ThreadName=Thread-2;|javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed; javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed; restRequest: endpoint=https://localhost:9048/management/domain/anonymous-user-enabled attrs={} method=GET|#] 

其他信息:

我已经安全管理启用,匿名用户禁用。

我可以使用相同的用户/密码请求https:// {server}:{admin port}/management/domain并成功地启动REST界面。请求/管理/域/启用匿名用户确实会触发相同的问题(空白页面,记录错误)。

我可以使用相同的用户/密码运行“asadmin -p {admin port}”并成功运行命令行命令。

我似乎还记得在管理控制台试图从sun.com域上的服务器拉取一个文件的情况下,SSL证书过期了,但我似乎无法找到我当时申请的解决方案。

我试图从一个正在工作的服务器使用cacerts.jks文件,这并没有帮助。

我在keystore.jks的s1as证书上的截止日期仍然是8年。

服务器上的日期/时间设置正确。

感谢您的任何建议。

史蒂夫

+1

尝试比较domain.xml,也许你会发现一些东西。 – Preston 2013-02-18 16:18:54

+0

我有同样的错误。留下我的SSL原样,但在'Domain.xml'中做了修改,并将'admin-listener'改回到's1as'。我不是在写一个答案,因为我不是100%确定这个过程,也不是背后的逻辑。 – blo0p3r 2013-04-18 18:44:20

+0

@ blo0p3r您是否找到了解决方案?我得到同样的错误 – Abhi 2014-01-08 04:47:37

回答

6

我有这个发生在我身上时,我让“默认主体到角色的映射”:

Default Principal To Role Mapping

我启用此并重新启动域后,我从来没有能够再次登录。我不得不更改以下行domain.xml中(与域停止):

<security-service default-principal-password="admin" activate-default-principal-to-role-mapping="true" default-principal="admin"> 

这样:

<security-service> 
+0

我刚刚检查了我的domain.xml文件,没有发现任何对该设置的引用,所以大概这不是我的问题。虽然可能有一些类似的选择让我感到悲伤。至少,这给了我一些东西来看看。谢谢。 – 2015-03-09 14:24:35

+0

非常感谢男士们。它减轻了我的担忧。 – Dummy 2015-09-03 00:35:14

+0

你在这个特定的答案上使用了什么版本? – qualebs 2017-12-30 13:45:17

2

这可能是在this bug report描述的问题。

黄丽娟林03 /月/ 2011写道:

In v2, you enable https by just simply enable security on the admin-listener. 
In v3, you have to run the enable-secure-admin command, and then restart the server. Then you can access the console by https, and http will also be redirected to https. 
%asadmin start-domain 
%asadmin enable-secure-admin 
%asadmin stop-domain 
%asadmin start-domain 
then launch GUI. 
Please do the above and if you still have problem, reopen the bug. thanks 

这是导致它为我的错误。

+0

谢谢!这为我节省了很多麻烦。 :) – Nick 2016-05-27 21:52:31

0

嗨,如果你从来没有找到解决这个问题的办法。我可以通过在我的应用程序中启用默认主体角色映射设置来解决此问题,方法是将以下行添加到WEB-INF文件夹中的glassfish-web.xml文件中。

<security-role-mapping> 
    <role-name>roleName</role-name> 
    <group-name>groupName</group-name> 
    </security-role-mapping> 

您可以修改角色名称和相应取决于你在你的应用程序什么的组名。 这个错误仍然存​​在于撰写此答案时的所有glassfish版本中。但是我所做的一个观察是,它并没有出现在与netbeans IDE捆绑在一起的glassfish服务器中。

+0

不久之前,我们最终搬到了Payara服务器,问题就消失了。 Payara修复了我们与Glassfish一直存在的其他一些问题,实质上是一个透明的替代品。 – 2017-06-24 12:35:52