概述
本文翻译:吴嘉俊,叩丁狼高级讲师。
你是否遇到过需要快速搭建SSL环境的需求,但是感觉比较迷糊?我敢肯定,你不是一个人,我也遇到过这个麻烦,下面我简单分享一下我的解决方案。
下面我会分享如何在Jetty中开启SSL。
注意:下面的指令只是作为在开发环境中搭建SSL,如果是在生产环境,需要注意更多的安全因素,这个话题就不在本文中阐述了。
-
首先安装好Jetty服务;
-
为了方便起见,设置一些env变量:
export jetty_home=…/somejetty
export jetty_base = …/your_application_install_location
建议将Jetty的基础目录放在Jetty的安装目录之外,否则在类路径上容易出现问题。
- 使用下面的命令为SSL创建初始设置
java -jar jetty_home/start.jar –add-to-startd=ssl jetty.base=jetty_base
一旦按照上面的命令执行之后,你应该能在console中看到类似如下输出:
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.ini
INFO: server initialised in ${jetty.base}/start.ini
INFO: server enabled in ${jetty.base}/start.ini
INFO: server enabled in <transitive>
INFO: resources initialised in ${jetty.base}/start.ini
INFO: resources enabled in ${jetty.base}/start.ini
INFO: resources enabled in <transitive>
- 将下列配置添加到${jetty.base}/start.d/ssl.ini中
–module=https
检查SSL端口(jetty.ssl.port)并做响应修改。
- 在${jetty.base}/start.ini文件中添加:
jetty.ssl.port=port
注意这个端口号必须和ssl.ini中的端口号保持一致;
- 重启Jetty服务
java -jar jetty_home/start.jar jetty.base=jetty_base
到此,Jetty中基本的SSL服务已经开启。
常见的问题
- Jetty使用的是哪个认证信息?
这个是Jetty比较聪明的地方,Jetty会自动导入一个keystore认证信息。
Jetty的keystore文件路径在$jetty_base/etc/keystore
- Jetty使用的keystore的密码是什么?
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”
- 怎么看keystore里面的内容?执行以下命令:
keytool –list -v -keystore keystore
如果在使用过程中,jetty出现类似错误的密码这样的错误,只需要把$jettyhome/etc/keystore这个文件重新拷贝到jetty_base/etc里面即可。
以上所有的步骤,只需要5分钟就能搞定,但是就这5分钟的步骤,曾经搞了我一天。enjoy it。
原文:https://www.javacodegeeks.com/2018/10/setup-ssl-jetty.html
最后
以上就是要减肥镜子为你收集整理的在Jetty中快速搭建SSL的全部内容,希望文章能够帮你解决在Jetty中快速搭建SSL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复