如果您的Simple Application Server已綁定了網域名稱,可以為網域名稱配置HTTPS加密訪問,以較低的成本將資料轉送協議從HTTP轉換成HTTPS,實現網站的身分識別驗證和資料加密傳輸,防止資料在傳輸過程中被篡改,資訊泄露。本文以使用WordPress 5.8的Simple Application Server為例,介紹在伺服器中安裝SSL認證,並開啟HTTPS加密訪問。
前提條件
已建立Simple Application Server。具體操作,請參見快速搭建WordPress個人部落格。
已購買網域名稱。通過阿里雲購買網域名稱的操作,請參見註冊通用網域名稱。
如果您的Simple Application Server部署在中國內地,需要確保網域名稱已備案。更多資訊,請參見什麼是ICP備案。
網域名稱已經綁定到Simple Application Server並完成網域名稱解析。具體操作,請參見綁定並解析網域名稱。
背景資訊
通過數位憑證管理服務(Certificate Management Service)完成認證購買、申請,並將認證部署到您的Web伺服器後,Web服務將會通過HTTPS加密協議來傳輸資料。HTTPS加密傳輸協議可啟用用戶端瀏覽器到網站伺服器之間的SSL加密通道(SSL協議),從而實現高強度單向加密傳輸,防止傳輸資料被泄露或篡改。HTTPS加密傳輸為手機APP、小程式應用、代碼程式、控制項等上線應用市場或應用生態必備特徵。HTTPS加密傳輸可為網站帶來以下優勢:
安全合規:滿足對應App市場或應用生態的要求。
加密傳輸網路資料:加密網站使用者與網站間的資料通訊,實現傳輸資料的防劫持、防篡改、防監聽,保障資料轉送安全。
提升網站安全性:規避釣魚事件發生。網站使用者在訪問網站時瀏覽器提示安全可信,可以提升網站的可信度、訪問流量和搜尋排名。
步驟一:購買SSL認證
購買認證
訪問認證服務購買頁。
根據您的實際需求選擇要購買的認證執行個體的規格。
參數
說明
樣本
認證類型
選擇SSL認證要綁定的網域名稱類型規格:
單網域名稱:SSL認證用於綁定一個單網域名稱,例如,
aliyundoc.com
,預設贈送www.aliyundoc.com。萬用字元網域名稱:如果您擁有多個同層級子網域名稱伺服器,使用萬用字元網域名稱認證時,僅需購買並安裝一張認證,無需為每個子網域名稱單獨購買和安裝認證。
萬用字元網域名稱匹配規則如下:
只能匹配同層級的子網域名稱,不能跨級匹配。例如,*.aliyundoc.com的網域名稱認證匹配demo.aliyundoc.com、learn.aliyundoc.com等子網域名稱,但是不匹配guide.demo.aliyundoc.com、developer.demo.aliyundoc.com等網域名稱。
如果萬用字元網域名稱認證的主網域名稱為頂層網域,預設贈送主網域名稱。例如,您申請的萬用字元網域名稱認證為*.aliyundoc.com,則預設贈送主網域名稱aliyundoc.com;您如果申請的萬用字元網域名稱為*.demo.aliyundoc.com,則不會贈送demo.aliyundoc.com或aliyundoc.com。
僅支援申請單個萬用字元網域名稱的認證,不支援申請多萬用字元網域名稱的認證。如需一張認證包含多個萬用字元網域名稱,您可以通過合并多個相同品牌、類型的認證,產生多萬用字元認證。具體操作,請參見認證合并申請。
多網域名稱:SSL認證用於同時綁定多個單網域名稱,最多支援綁定5個單網域名稱。
單網域名稱
品牌
選擇您需要的認證品牌(即簽發認證的CA中心)。
關於不同認證品牌的介紹,請參見SSL認證選購指引。
Digicert
認證規格
選擇您需要的認證類型。
關於不同認證類型的介紹,請參見SSL認證選購指引。
DV SSL
網域名稱數量
僅當選擇多網域名稱時,需要設定該參數。選擇SSL認證要綁定的單網域名稱的個數。
1
數量
購買SSL認證的數量。預設為1,不支援增加購買數量。如需購買多張SSL認證,可通過選擇服務年限,例如選擇服務年限為2年,表示購買2張有效期間為1年的SSL認證。
1
服務年限
選擇SSL認證服務的時間長度。可選項:
1年:購買服務時間長度為1年的SSL認證。認證有效期間預設是1年,認證到期後您需要手動重新下單購買SSL認證。
2年:購買實際服務時間長度為2年的SSL認證,包含2張1年有效期間的SSL認證和1次託管服務。
關於託管服務的更多介紹,請參見託管服務概述。
3年:購買實際服務時間長度為3年的SSL認證,包含3張1年有效期間的SSL認證和2次託管服務。
1年
單擊立即購買,並完成支付。
提交認證申請
登入數位憑證管理服務控制台。
在左側導覽列,選擇。
在正式認證頁簽下,在目標認證的操作列,單擊認證申請。
在認證申請面板,完成配置並勾選快捷簽發,單擊提交審核。
配置項
說明及樣本
證書類型
單網域名稱
證書規格
digicert DV
域名名稱
認證綁定的網域名稱,即Simple Application Server綁定的網域名稱。例如,aliyundoc.com
年限
1
快捷簽發
網域名稱驗證方式
如果您當前的阿里雲帳號與網域名稱的DNS雲解析服務所在帳號一致,申請SSL認證時,阿里雲數位憑證管理服務將會自動識別,並預設選擇自動DNS驗證方式,且不支援修改,提交審核後,系統會自動進行DNS驗證,您僅需等待認證簽發即可。
如果您當前的阿里雲帳號與網域名稱的DNS雲解析服務所在帳號不一致,您可以選擇以下任意一種方式進行網域名稱所有權驗證。
手工DNS驗證:您需要手動在對應的DNS網域名稱解析服務商,添加一條TXT類型的解析記錄用於網域名稱所有權驗證。
檔案驗證:您需要手動從數位憑證管理服務控制台下載一個專用的驗證檔案,然後將該檔案上傳到站台伺服器的指定驗證目錄。
連絡人
在下拉式清單中,單擊建立連絡人,建立本次認證申請的連絡人。如果已建立過連絡人,可以直接選擇已有的連絡人。
請您務必確保連絡人資訊準確且有效。
所在地
選擇您所在的城市或地區。
密鑰演算法
SSL認證使用的密鑰演算法。預設選擇為RSA,且不支援修改。RSA演算法是目前全球廣泛應用的非對稱式加密演算法,具有良好的相容性。
CSR產生方式
CSR(Certificate Signing Request)檔案是SSL認證的請求檔案,包含伺服器資訊和單位資訊,需要提交給CA中心審核。
您選擇系統產生即可,表示由數位憑證管理服務自動使用您在密鑰演算法指定的密碼編譯演算法產生CSR檔案。
如果網域名稱驗證方式是自動DNS驗證,系統會自動完成DNS驗證,您僅需等待認證簽發即可;如果網域名稱驗證方式選擇手動DNS驗證或檔案驗證,您需要按照驗證資訊中的提示,完成網域名稱所有權的驗證。更多資訊和常見報錯,請參見網域名稱所有權驗證。
提交免費SSL認證申請後,CA中心一般會在30分鐘左右完成審核和簽發,請您耐心等待。SSL認證簽發後,SSL認證狀態將變更為已簽發。
步驟二:配置SSL認證
認證簽發後,認證狀態將變更為已簽發,您需要部署SSL認證至伺服器並配置認證。關於認證部署和安裝的更多資訊,請參見SSL認證安裝指南。
上傳部署SSL認證。
在左側導覽列,選擇。
在雲端服務器部署頁面,單擊創建任務,按照以下步驟部署SSL認證。
在基礎配置引導頁,自訂任務名稱,單擊下一步。
在選擇認證引導頁,選擇認證類型以及關聯雲端服務器的SSL認證,單擊下一步。
在選擇資源引導頁,選擇對應的雲端服務器和資源,單擊下一步。
系統會自動識別並拉取當前阿里雲帳號下所有合格雲端服務器執行個體資源(即雲端服務器部署了Web應用)。如果仍未顯示對應資源,請檢查雲端服務器是否部署了Web應用,例如Nginx,Apache等。
若某個執行個體之前部署過認證,系統會顯示已部署認證的名稱。
在部署配置引導頁,參考下表部署認證至雲端服務器,單擊確定。
重要如果伺服器中不存在對應的認證配置目錄,系統將會自動進行建立。控制台配置的路徑應當與雲端服務器Web應用中配置的認證相關檔案的路徑保持一致。
配置項
描述
配置樣本
憑證路徑
設定認證檔案存放在雲端服務器中的絕對路徑。
/data/cert/certpublic.crt
私密金鑰路徑
設定認證私密金鑰檔案存放在雲端服務器中的絕對路徑。
/data/cert/cert.key
憑證鏈結路徑
設定憑證鏈結檔案存放在雲端服務器中的絕對路徑。
/data/cert/certchain.crt
重啟命令
在部署認證後,需要重啟雲端服務器中的Web應用或重新載入Web應用設定檔,以使認證生效。因此,您可以設定Web應用的重啟或重新載入設定檔命令。
重要執行相關命令時,可能會出現服務啟動失敗的情況。如果服務啟動失敗,請前往對應的雲端服務器進行操作。
無需配置。
在提示對話方塊,單擊確定。
配置SSL認證。
遠端連線Simple Application Server。具體操作,請參見遠端連線Linux伺服器。
執行以下命令,修改設定檔vhost.conf。
說明本樣本WordPress環境中預設安裝的是Apache,不同環境的設定檔路徑和名稱可能不一樣,請您以實際環境為準。
sudo vim /etc/httpd/conf.d/vhost.conf
按
i
鍵,進入編輯模式。在設定檔中增加以下代碼。
使用範例程式碼前,請注意將修改代碼中的設定項目:
ServerName:網域名稱,例如:example.com。
DocumentRoot:應用目錄,例如:/data/wwwroot/wordpress。
Directory:應用目錄,例如:/data/wwwroot/wordpress。
SSLCertificateFile:認證公開金鑰檔案路徑,例如:/data/cert/certpublic.crt。
SSLCertificateKeyFile:認證私密金鑰檔案路徑,例如:/data/cert/cert.key。
SSLCertificateChainFile:憑證鏈結檔案路徑,例如:/data/cert/certchain.crt。
重要認證檔案路徑需要配置正確,否則無法使用HTTPS訪問。
設定檔樣本如下所示:
#-----HTTPS/SSL template start------------ <VirtualHost *:443> #設定管理員綁定網域名稱 ServerName example.com DocumentRoot "/data/wwwroot/wordpress" #ErrorLog "logs/example.com-error_log" #CustomLog "logs/example.com-access_log" common <Directory "/data/wwwroot/wordpress"> Options Indexes FollowSymlinks AllowOverride All Require all granted </Directory> SSLEngine on #配置SSL認證。憑證路徑需與部署認證時設定一致。 SSLCertificateFile /data/cert/certpublic.crt SSLCertificateKeyFile /data/cert/cert.key SSLCertificateChainFile /data/cert/certchain.crt </VirtualHost> #-----HTTPS template end------------ #--------------HTTPS/SSL end-----
(條件必選)如果您需要配置讓HTTP的請求自動重新導向到HTTPS,還需要在<VirtualHost *:80>
代碼塊中增加以下配置資訊。
#----------HTTP for WordPress Start-------- <VirtualHost *:80> ServerName example.com #ServerAlias example.com DocumentRoot "/data/wwwroot/wordpress" ErrorLog "logs/wordpress-error_log" CustomLog "logs/wordpress-access_log" common RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] <Directory "/data/wwwroot/wordpress"> Options Indexes FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost> #----------HTTP for WordPress End--------
修改完成後,按
Esc
鍵,輸入:wq!
並按Enter
鍵,儲存修改後的設定檔並退出編輯模式。執行以下命令,重啟服務。
sudo systemctl restart httpd
執行以下命令,重啟資料庫。
sudo service mysqld restart
步驟三:驗證SSL認證是否安裝成功
在WordPress後台管理頁面配置HTTPS網域名稱。
登入WordPress後台管理頁面。
後台管理頁面地址、使用者名稱、密碼的擷取方式具體操作,請參見步驟二:配置應用。
在左側導覽列中,選擇 。
在WordPress地址(URL)和網站地址(URL)後,輸入您已綁定並解析的網域名稱,本文以
https://example.com
為例。單擊儲存更改。
說明修改WordPress地址(URL)和網站地址(URL)後,則管理員登入地址變為
https://example.com/wp-login.php
,example.com
需要替換為您的實際網域名稱。
使用瀏覽器訪問
https://Simple Application Server對應的網域名稱
。
相關文檔
不同類型的伺服器支援配置的SSL認證格式不同,您可以根據伺服器的類型選擇安裝對應的SSL認證。具體操作,請參見SSL認證安裝指南。