我目前正在 glassfish 上设置 SSL,但在连接服务器时遇到了一些问题。
http://javadude.wordpress.com/2010/04/06/getting-started-with-glassfish-v3-and-ssl/
我按照本指南设置了证书,效果似乎很好,但我无法让 glassfish 指向证书。经过进一步研究,我发现了另一份指南,其中说,除了我所做的更改之外,我还必须将 domain.xml 中的所有“s1as”实例更改为我为证书指定的别名。最后,经过一番摆弄,我更改了以下内容以指向我的密钥库
-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
这部分起作用了,前几次尝试我能够成功连接,但每次连续的尝试都会导致浏览器超时。
我是否遗漏了某个设置,或者别人是否看出我做错了什么?
答案1
在全新安装的 Glassfish 3.1 上设置 SSL
我在使用 3.0.1 时遇到了很多问题,因此我建议升级到 3.1
按照上面链接上的说明,这将成功创建密钥库和证书。
更改主密码
Glassfish 上设置的主密码也是允许访问 SSL 证书存储的密码。Glassfish 3.1 的默认密码是“changeit”,Glassfish 3.0.1 没有默认主密码。要更改主密码,请打开命令提示符并输入
cd C:\glassfish3\bin
asadmin change-master-password
系统将提示您输入默认密码,然后要求输入新密码,该密码应设置为您设置证书存储密码的值。
安装证书
将文件 server.keystore 文件复制到C:\glassfish3\glassfish\domains\domain1\config\
打开C:\glassfish3\glassfish\domains\domain1\config
domain.xml 文档,找到该短语的所有实例s1as
,并将其替换为您为证书指定的别名。应该有大约 22 处更改。在同一文档中,将所有实例替换为keystore.jks
,server.keystore
这是上述 javadude 说明中创建的新密钥库的名称。应该有 2 处更改。
设置glassfish进行SSL
通过转到“开始”->“所有程序”->“Glassfish 服务器开源版本 Web 配置文件”->“启动应用程序服务器”来启动 Glassfish 服务器。这将打开一个最小化在屏幕底部的 cmd 窗口。将其最大化并输入 Glassfish 主密码。打开 Web 浏览器并输入 URLhttp://localhost:4848
以访问管理控制台。转到“配置”->“服务器配置”->“网络配置”->“网络侦听器”->“Http-listener-2”。将端口更改为 443,并确保选中启用安全框。单击“保存”。在 SSL 选项卡上,选中 SSL3 和 TLS 旁边的框,将证书昵称更改为您在上一步中设置的别名(如果尚未自动设置),然后单击“保存”。
答案2
如果您将 GF 用作 Windows 服务,则必须使用以下命令保存主密码:
asadmin change-master-password --savemasterpassword true
在其他情况下,Windows 服务将不会再次启动。