要啟動 HTTPS 協定,我們需要使用有效的 SSL 證件。SSL 證件中包含身分驗證資訊,幫助保障使用者的通訊加密和安全。
在構建一個安全的工程中,證件起到關鍵作用,它保證了使用者端與伺服器之間的交互安全性。
本文將介紹如何透過簡單的前端介面操作,為容器化部署的FineReport、FineBI維運專案配置SSL證件,以滿足使用HTTPS存取帆軟應用的需求。
這樣做可以確定FineReport、FineBI工程使用安全的通訊協定,並給使用者提供加密保護。
1)本功能僅面向維運平台部署的專案。
2)本功能要對維運專案中的 Nginx 組件進行配置。維運平台部署的單機專案,可能未配置 Nginx 組件。
管理者需在「組件管理」中新增 Nginx 組件,新增成功後 Nginx 會自動對接工程節點,此時方可進行 SSL 配置。
詳情請參見:維運專案新增組件
在配置證件前,首先需要為維運專案Nginx組件所在伺服器申請證件。
請自行向 CA 廠商購買證件,證件認證一般都是由 VeriSign、GlobalSign 等國際公認的 CA 機構認證。
需要準備的證件相關檔案和要求如下:
請準備好你的證件
證件格式為 .crt 或 .pem(nginx僅支援這兩種)
證件格式為 .key
1)確認證件對應的域名
將證件上傳到擁有JDK環境的計算機上,進入證件所在目錄。
使用語句列印查詢證件資訊:keytool -printcert -file name.pem(請將name.pem換成你的證件名稱)。
確認證件綁定的域名:在回傳值中,「Owner: CN」/「所有者: CN」後的值,即為該證件對應的域名。
2)確認域名綁定IP
請將證件對應的域名,與維運專案中的Nginx組件所在伺服器的IP,互相綁定。
由於不同伺服器的操作不盡相同,帆軟不提供此操作的指導文檔,請自行交握你的伺服器廠商諮詢。
綁定成功後,管理者可ping 域名,確認回傳值中的IP是否正確。
請準備一個維運專案中的Nginx組件所在伺服器的閒置埠,用於後續存取維運專案。
請確定埠防火牆已開放,可正常存取。
如希望在存取時不新增埠,直接透過域名存取,請使用 HTTPS 的預設埠 443 。
本文範例使用 443 埠。
1)管理者登入FineOps維運平台,點選維運專案,點選「維護>組件管理」。
2)找到 Nginx 組件,點選「更改配置」。
3)找到「SSL配置」,依次上傳第二章準備的證件和金鑰檔案,填入域名和埠。點選「確定」。
1)點選「確定」後,會彈出提示「開啟SSL將重啟專案的Nginx組件,期間專案將持續幾分鐘無法存取,重啟完成後https存取地址為XXX(對應域名後的url),是否繼續?」
2)點選「繼續並重啟」,維運平台會自動進行以下檢查和配置,請耐心等待:
檢查所填埠是否可用,如不可用,配置失敗。
將證件和金鑰檔案上傳到維運專案Nginx組件的/nginx/conf/ssl目錄下
使用原命令建立取代Nginx,並新增443埠,環境變數新增SSL相關配置。
自動重啟Nginx,啟動完畢後即可實現HTTPS存取。
重啟成功後,即可使用上文提示中的地址存取專案。
在瀏覽器輸入https://your_domain:port/webroot/decision,確定能夠成功存取,如果網頁地址欄出現安全連結標籤,表示SSL配置成功。
your_domain是你的域名。
埠為上文配置的埠,如果埠號為443,可省略不寫。
注:原http請求會自動跳轉https。
憑證到期後,如需更新SSL憑證,請勿參考第三章執行。請參考下文:
1)手動取代憑證
將憑證和金鑰檔案上傳取代到維運專案內網關組件的外掛目錄/nginx/conf/ssl下
請確定新老憑證和金鑰檔案同名,以便完全改寫
2)重啟內網關組件
管理者登入維運平台,點選對應專案。
點選「維護>組件管理」,找到專案內網關組件,點選「重啟」。
組件重啟成功後,新憑證即可生效。
問題描述:上傳證件時報錯/usr/local/ssl.crt (Permission denied)
原因分析:老版本維運平台上傳證件時,需要將證件檔案上傳到容器臨時目錄/usr/local中,該目錄權限要求較高
解決方案:請升級維運平台至V2.9.0及以上版本後再嘗試上傳證件,證件會暫存到臨時目錄/usr/tmp下,權限要求較低