說明
由于工作需要,spring boot的https服務(wù)器搭建胖腾,經(jīng)過一番調(diào)查終于實(shí)現(xiàn)烟零,特此備忘
使用到的技術(shù)
- 使用spring boot作為服務(wù)器
- Let's Encrypt進(jìn)行正式的頒發(fā)
- 證書格式轉(zhuǎn)換使用在線工具
證書生成
進(jìn)行https服務(wù)器搭建瘪松,首先需要的就是證書。簽名認(rèn)證證書話費(fèi)不菲锨阿,這里選擇了免費(fèi)的Let's Encrypt進(jìn)行證書的發(fā)布宵睦。
下面就是生成證書的準(zhǔn)備工作
- 使用域名:www.xxx.com
- 域名綁定在一臺服務(wù)器上(我使用的是阿里云服務(wù)器)
- 在服務(wù)器啟動了httpd服務(wù)(默認(rèn)使用80端口,存放的是公司的主頁墅诡,默認(rèn)的網(wǎng)頁存放位置:/var/www/html)
下面開始進(jìn)行證書發(fā)布
- 獲取命令
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help
如果發(fā)生python包安裝的錯誤壳嚎,應(yīng)該是pip源的問題,換源可以解決
阿里云 http://mirrors.aliyun.com/pypi/simple/
中國科技大學(xué) https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清華大學(xué) https://pypi.tuna.tsinghua.edu.cn/simple/
中國科學(xué)技術(shù)大學(xué) http://pypi.mirrors.ustc.edu.cn/simple/
下面的方法是臨時換源
pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
- 生成證書
$ ./letsencrypt-auto certonly --webroot --webroot-path /var/www/html -d www.xxx.com --agree-tos --email admin@xxx.com
這里注意:證書使用--webroot 方式末早,表示80端口有服務(wù)在占用烟馅,頁面的位置需要正確,-d后面是域名
letsencrypt的其他使用方式下午描述
- 生成證書查看
生成的證書默認(rèn)應(yīng)該在:/etc/letsencrypt/live/www.xxx.com 目錄下
cert.pem:服務(wù)端證書
chain.pem:瀏覽器需要的所有證書但不包括服務(wù)端證書然磷,比如根證書和中間證書
fullchain.pem:包括了cert.pem和chain.pem的內(nèi)容
privkey.pem:證書的私鑰
格式轉(zhuǎn)換
我們的spring boot服務(wù)器焙糟,使用的證書格式為jks,這里需要進(jìn)行證書格式的轉(zhuǎn)換
我使用一個在線工具SSL證書格式轉(zhuǎn)換工具
上傳我們生成的證書样屠,私鑰等信息穿撮,就可以生成jks文件了。
服務(wù)器搭建
將生成的jks文件放置在classpath下
在spring boot的配置文件中增加如下內(nèi)容
server.port=443
server.ssl.key-store: classpath:xxx.jks
server.ssl.key-store-password: 111111
server.ssl.keyAlias: xxx
注意名字痪欲,密碼和別名別寫錯了悦穿!基本上都是上一個格式轉(zhuǎn)換步驟我們自己定義的。
在服務(wù)器上啟動服務(wù)就可以查看一下效果了业踢!
這個時候不再是警告而是在地址欄出現(xiàn)一把綠色的小鎖頭@跗狻!大功告成
需要注意的是知举,證書只有3個月有效期