当您必须快速启用SSL并陷入困境时,您是否遇到了问题:-(
你并不孤单,我将分享我的痛苦和一些学习。
我将分享在码头上启用SSL的步骤。
警告:仅将以下说明用于开发人员设置和生产,请与安全专家联系!
- 在服务器上安装码头
- 设置一些env变量以方便使用,例如
出口jetty_home =…/ somejetty
出口jetty_base =…/您的application_install_location
建议将码头保持在码头安装的外侧,否则您将遇到类路径的噩梦
- 执行以下命令为SSL创建初始设置
java -jar $ jetty_home / start.jar –add-to-startd = ssl jetty.base = $ jetty_base
运行以上命令后,您将在控制台上看到类似以下的内容。
INFO: ssl initialised in ${jetty.base}/start.d/ssl.ini (created)INFO: ssl enabled in /data/segmentation/segplat-deployments/app/application_secure/bin/${jetty.base}/start.d/ssl.iniINFO: server initialised in ${jetty.base}/start.iniINFO: server enabled in ${jetty.base}/start.iniINFO: server enabled in <transitive>INFO: resources initialised in ${jetty.base}/start.iniINFO: resources enabled in ${jetty.base}/start.iniINFO: resources enabled in <transitive>
- 在$ {jetty.base} /start.d/ssl.ini行下面添加
–module = https
检查ssl端口(jetty.ssl.port)并进行相应更改
- 在$ {jetty.base} /start.ini中添加以下行
jetty.ssl.port =端口
使用与ssl.ini文件相同的端口。
- 启动服务器
java -jar $ jetty_home / start.jar jetty.base = $ jetty_base
您已完成:-) Jetty从ssl开始。
魔术问题
– 码头使用哪种证书?
这就是魔术,Jetty附带了已经在Jetty使用的密钥库中导入的证书的证书。
Jetty在$ jetty_base / etc / keystore位置中查找密钥库。
– 密钥库的密码是什么
密钥库密码为$ jetty_base / start.d / ssl.ini,但已加密。 您可以使用以下命令获取密码。
java -cp jetty-util-9.2.14.v20151106.jar org.eclipse.jetty.util.security.password“ OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4”
它是“ storepwd”
– 如何查看密钥库中的内容? 运行以下命令并输入密码
keytool –列表-v -keystore密钥库
如果jetty给出了一些错误(例如密码错误或被篡改),则将密钥库从$ jetty_home / etc / keystore复制到$ jetty_base / etc
仅需5分钟即可执行所有步骤,但前提是您知道否则会整日感到沮丧。 享受码头带来的发展。
翻译自: https://www.javacodegeeks.com/2018/10/setup-ssl-jetty.html