这是关于 Let's Encrypt、Glassfish 和 AWS EC2 的一个很好的教程。
要突出显示关键点(以防链接不再有效):
它遵循他们网站上描述的certbot文档
certbot certonly --manual -d example.com
然后是玻璃鱼的重要部分
在 Glassfish 上安装证书
Glassfish 有一个名为 keystore.jks 的文件,您需要在其中添加之前创建的证书和密钥。该文件应位于:
<AS_HOME>/domains/domain1/config/keystore.jks
它的默认密码是“changeit”
将这两个文件添加到密钥库是一个 2 步过程: 将目录更改为 glassfish 配置目录
cd <AS_HOME>/domains/domain1/config/
从 2 个文件创建一个密钥库
创建一个包含完整链和私钥的 .pkcs12 文件
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name letsencryptcrt
您将为该文件设置一个密码,您需要在下一步中指定该密码 (STORE_PASS)。
将 PKCS12 转换为密钥库
keytool -importkeystore -deststorepass PASSWORD_STORE -destkeypass PASSWORD_KEYPASS -destkeystore letsencrypt.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass STORE_PASS -alias letsencryptcrt
我建议将所有这些密码(PASSWORD_STORE、PASSWORD_KEYPASS 和 STORE_PASS)设置为与原始 keystore.jks 的密码相同,因为接下来,源密钥库和目标密钥库的密码必须相同。
将创建的密钥库导入 Glassfish 的密钥库
keytool -importkeystore -srckeystore letsencrypt.jks -destkeystore keystore.jks
当然,在运行所有这些命令时,请确保所有引用文件的路径都正确,并考虑到当前目录。
配置 Glassfish HTTPS 侦听器
现在一切都设置好了,您需要做的就是登录 Glassfish 管理控制台并设置适当的 HTTP 侦听器。
Glassfish 预定义了 3 个 HTTP 侦听器,位于
配置 > 服务器配置 > HTTP 服务 > HTTP 侦听器。
http-listener-2 是用于 HTTPS 的。需要进行以下 2 项设置:
Set the port to 443 (HTTPS port)
In the SSL tab, set the Certificate NickName to letsencryptcrt and the Key Store to keystore.jks
单击“保存”,重新启动 Glassfish 实例,您就完成了。您现在应该可以通过https://example.com/访问任何已部署的应用程序...