翻譯:叩丁狼教育吳嘉俊
你是否遇到過需要快速搭建SSL環(huán)境的需求俄精,但是感覺比較迷糊?我敢肯定破花,你不是一個人谦趣,我也遇到過這個麻煩,下面我簡單分享一下我的解決方案座每。
下面我會分享如何在Jetty中開啟SSL前鹅。
注意:下面的指令只是作為在開發(fā)環(huán)境中搭建SSL,如果是在生產(chǎn)環(huán)境峭梳,需要注意更多的安全因素舰绘,這個話題就不在本文中闡述了。
首先安裝好Jetty服務(wù)葱椭;
為了方便起見捂寿,設(shè)置一些env變量:
export jetty_home=…/somejetty
export jetty_base = …/your_application_install_location
建議將Jetty的基礎(chǔ)目錄放在Jetty的安裝目錄之外,否則在類路徑上容易出現(xiàn)問題孵运。
- 使用下面的命令為SSL創(chuàng)建初始設(shè)置
java -jar jetty_home/start.jar –add-to-startd=ssl jetty.base=jetty_base
一旦按照上面的命令執(zhí)行之后秦陋,你應(yīng)該能在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)并做響應(yīng)修改。
- 在${jetty.base}/start.ini文件中添加:
jetty.ssl.port=port
注意這個端口號必須和ssl.ini中的端口號保持一致治笨;
- 重啟Jetty服務(wù)
java -jar jetty_home/start.jar jetty.base=jetty_base
到此驳概,Jetty中基本的SSL服務(wù)已經(jīng)開啟。
常見的問題
- 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里面的內(nèi)容锐锣?執(zhí)行以下命令:
keytool –list -v -keystore keystore
如果在使用過程中,jetty出現(xiàn)類似錯誤的密碼這樣的錯誤绳瘟,只需要把$jettyhome/etc/keystore這個文件重新拷貝到j(luò)etty_base/etc里面即可雕憔。
以上所有的步驟,只需要5分鐘就能搞定糖声,但是就這5分鐘的步驟斤彼,曾經(jīng)搞了我一天。enjoy it蘸泻。
原文:https://www.javacodegeeks.com/2018/10/setup-ssl-jetty.html
想獲取更多技術(shù)視頻琉苇,請前往叩丁狼官網(wǎng):http://www.wolfcode.cn/openClassWeb_listDetail.html