VestaCP 教學:8083 Port 無法使用 https SSL 連線的解決方案

在購買 SSL 憑證[1]以及在 VestaCP 完成 SSL 憑證設定(如下圖一)後,一般來說就能直接使用經過 https(超文字傳輸安全協定,Hypertext Transfer Protocol Secure)加密技術強化傳輸安全的網站供讀者瀏覽。

例如原本 http://www.vedfolnir.com 在傳輸過程中的安全資料容易被駭客竊聽,不過一但升級成 https 格式後,由於傳輸內容會經過安全加密,因此在竊聽上的難度便增加了。

工具人提示:由於 https 主要用在傳輸過程中有安全資料需要加密的情況,早期只有電子交易或會員平台需要建置,一般部落客的內容部落格(Blog)是否有必要花錢購買 SSL 憑證,就看個人需求了。

VestaCP-Web-Account-SSL-Support-Setting-CSR-KEY-CRT

圖一,VestaCP 的網站 SSL 憑證設定。

當我們在 VestaCP 完成網站的 SSL 憑證設定,網站也都能正常透過 https 進行安全連線後,我們還需要再針對 VestaCP 管理頁面本身進行 SSL 設定!

由於 VestaCP 的登入方式是透過伺服器的特殊傳輸埠(port)進行連線,預設是 8083 port(可修改),但是 VestaCP 內的網站 SSL 憑證設定只會開通 SSL 正常的網頁瀏覽通道 443(http 是 80 或 8080 port),因此當我們在瀏覽器上開啟 https://domain.name:8083 頁面時,會顯示如下圖二所示的非私人連線警告。

SSL-https-not-privacy-connection-warrings

圖二,未安裝 SSL 憑證的 https 會被判定為惡意連線。

請參考下圖三,我們必須登入伺服器 Linux 系統(本範例是 Ubuntu OS),找到存放 VestaCP 專用的 SSL 憑證資料夾(一般位在「/usr/local/vesta/ssl」)。

在該 SSL 資料夾下可以發現「certificate.crt」以及「certificate.key」兩個檔案(圖二中副檔名有2的檔案是工具人自己另外弄的備份檔)。這時候請直接將 VestaCP 網站設定中的「SSL 憑證」內容覆蓋 certificate.crt 的內容,並將「SSL 密鑰」內容覆蓋certificate.key。

工具人提示:如果當初申請的是 Nginx 格式的 SSL 憑證,可以直接覆蓋;如果申請的是 Apache 格式的 SSL 憑證,請記得在 VestaCP 網站設定中的「SSL 中繼憑證」填寫所有憑證資料。

Linux-Ubuntu-VestaCP-SSL-certificate-crt-key

圖三,VestaCP 在 Ubuntu Linux 系統內的 SSL 憑證位置。

最後重新啟動伺服器,透過瀏覽器開啟 https://domain.name:8083,這時就能以正常的 https 連線訪問 VestaCP 控制台。

[1] 可參考取得 SSL 安全憑證教學,替網站/部落格強化安全性與排名 文章乙文。

您可能也會喜歡…