1. 程式人生 > >SpringBoot + Nginx配置SSL證書

SpringBoot + Nginx配置SSL證書

簡介:

由於小程式訪問伺服器地址需要強制使用https,因此需要加伺服器加SSL證書。springboot本身也可以通過tomat配置證書或者將證書整合到jar包裡面,但是放在jar程式的證書格式侷限在.p12格式,而生成的證書一般是crt或pem,因此轉換起來很不方便。這時可以使用nginx代理https請求,從而達到用nginx配置SSL證書的目的。

安裝及配置nginx

安裝和配置nginx這裡就不提了,可以參考之前的文章
Ubuntu安裝nginx

申請SSL證書

粗略去阿里雲上面看了一下,SSL證書一年要好幾千,如果不是特別高要求的話,可以使用免費的SSL證書。聽說阿里雲也有免費的SSL證書,但是我阿里雲網站證書相關的選項下沒發現有免費的證書,估計是取消了。
可以嘗試去騰訊雲上面找,但是網站內容多,不稍加註意,也是不太好找的。這裡貼出免費證書申請的連結:

騰訊雲免費SSL證書連結
這裡寫圖片描述

點選立即選購下方的免費申請域名證書後,會彈出證書品牌商的選擇框,這裡我們選擇預設的就好了。
這裡寫圖片描述

點選確定之後會彈出要繫結證書的域名等資料填寫,如實填寫就可以了。
這裡寫圖片描述

點選下一步後會生成一些需要域名網站驗證的資訊,這時將這些資訊新增到自己域名的DNS解析就可以了。這裡以阿里雲申請的域名為例:
登陸阿里雲網站,選擇產品與服務-》域名:
這裡寫圖片描述

選擇“管理”,然後在彈出的網頁中再選擇“域名解析”項:
這裡寫圖片描述

這裡我們再選擇“新增記錄”,然後在彈出的框中將之前申請SSL證書生成的一串資料對應填寫進去就可以了。
這裡寫圖片描述

記錄值就填生成的那個記錄值就好了,然後確定儲存。填寫後回到騰訊雲剛才生成證書那裡測試驗證,等幾分鐘後就會有通知你下載證書了。

上傳SSL證書和配置nginx

將申請到的證書下載下來並解壓,可以看到有專門nginx資料夾命名的證書。
這裡寫圖片描述

將資料夾裡面.crt和.key結尾的兩個證書上傳到伺服器某個位置,這裡以usr/local/nginx資料夾為例(即之前安裝nginx的資料夾),在該資料夾下建立專門存放證書的資料夾cert。
生成資料夾指令:

mkdir cert

建立成功後可以看到nginx目錄下多了個cert的資料夾,使用上傳工具將這兩個證書上傳到這個資料夾下就可以了。
這裡寫圖片描述

上傳成功後,再進入旁邊conf資料夾,然後編輯資料夾下nginx.conf檔案(該檔案主要用來配置nginx)
這裡寫圖片描述

使用vim nginx.conf

編輯檔案。
這裡寫圖片描述

由於我們要配置的是https,nginx預設配置的是http,因此這裡先把http部分的配置註釋起來。

然後把https的註釋解開,配置自己證書及域名。
這裡寫圖片描述

到這裡就可以配置完成了。