SpringBoot + Nginx配置SSL證書
簡介:
由於小程式訪問伺服器地址需要強制使用https,因此需要加伺服器加SSL證書。springboot本身也可以通過tomat配置證書或者將證書整合到jar包裡面,但是放在jar程式的證書格式侷限在.p12格式,而生成的證書一般是crt或pem,因此轉換起來很不方便。這時可以使用nginx代理https請求,從而達到用nginx配置SSL證書的目的。
安裝及配置nginx
安裝和配置nginx這裡就不提了,可以參考之前的文章
Ubuntu安裝nginx
申請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的註釋解開,配置自己證書及域名。
到這裡就可以配置完成了。