WordPress環(huán)境上安裝SSL證書
如果您的輕量應(yīng)用服務(wù)器已綁定了域名,可以為域名配置HTTPS加密訪問,以較低的成本將數(shù)據(jù)傳輸協(xié)議從HTTP轉(zhuǎn)換成HTTPS,實現(xiàn)網(wǎng)站的身份驗證和數(shù)據(jù)加密傳輸,防止數(shù)據(jù)在傳輸過程中被篡改,信息泄露。本文以使用WordPress 5.6.2的輕量應(yīng)用服務(wù)器為例,介紹在服務(wù)器中安裝SSL證書,并開啟HTTPS加密訪問。
前提條件
已創(chuàng)建輕量應(yīng)用服務(wù)器。具體操作,請參見快速搭建WordPress個人博客。
已購買域名。通過阿里云購買域名的操作,請參見注冊通用域名。
如果您的輕量應(yīng)用服務(wù)器部署在中國內(nèi)地,需要確保域名已備案。更多信息,請參見什么是ICP備案。
域名已經(jīng)綁定到輕量應(yīng)用服務(wù)器并完成域名解析。具體操作,請參見綁定并解析域名。
背景信息
通過數(shù)字證書管理服務(wù)(Certificate Management Service)完成證書購買、申請,并將證書部署到您的Web服務(wù)器后,Web服務(wù)將會通過HTTPS加密協(xié)議來傳輸數(shù)據(jù)。HTTPS加密傳輸協(xié)議可激活客戶端瀏覽器到網(wǎng)站服務(wù)器之間的SSL加密通道(SSL協(xié)議),從而實現(xiàn)高強度單向加密傳輸,防止傳輸數(shù)據(jù)被泄露或篡改。HTTPS加密傳輸為手機APP、小程序應(yīng)用、代碼程序、控件等上線應(yīng)用市場或應(yīng)用生態(tài)必備特征。HTTPS加密傳輸可為網(wǎng)站帶來以下優(yōu)勢:
安全合規(guī):滿足對應(yīng)App市場或應(yīng)用生態(tài)的要求。
加密傳輸網(wǎng)絡(luò)數(shù)據(jù):加密網(wǎng)站用戶與網(wǎng)站間的數(shù)據(jù)通信,實現(xiàn)傳輸數(shù)據(jù)的防劫持、防篡改、防監(jiān)聽,保障數(shù)據(jù)傳輸安全。
提升網(wǎng)站安全性:規(guī)避釣魚事件發(fā)生。網(wǎng)站用戶在訪問網(wǎng)站時瀏覽器提示安全可信,可以提升網(wǎng)站的可信度、訪問流量和搜索排名。
步驟一:申請SSL證書
阿里云支持申請免費證書、付費證書或者在其他服務(wù)商申請的證書。免費證書建議用于測試、個人試用等場景,org、jp等特殊域名存在無法申請的情況,正式環(huán)境建議使用付費正式證書,本步驟以申請免費證書為例介紹。如果您需要申請付費正式證書,請參見購買SSL證書。
數(shù)字證書管理服務(wù)已于2024年06月下旬將SSL免費證書更名為個人測試證書(免費版),將升級證書(有效期12個月)變更為個人測試證書(pro)。免費證書更名通知,請參見【通知】免費證書更名。
每個阿里云個人或企業(yè)用戶(以實名認(rèn)證為準(zhǔn))每個自然年可以一次性申請20張免費證書(每個自然年僅限領(lǐng)取1次)。自然年是每年的01月01日~12月31日,免費領(lǐng)取的證書資源包在每個自然年末將未申請的額度清零(每年12月31日24:00:00),您需要等到第二年的1月1日00:00:00后申請領(lǐng)取當(dāng)年的免費證書資源包。更多關(guān)于免費證書適用場景、領(lǐng)取規(guī)則和使用限制說明,請參見個人測試證書說明。
購買免費SSL證書
在左側(cè)導(dǎo)航欄,選擇。
在個人測試證書(原免費證書)頁簽,單擊立即購買。
在立即購買面板,參考下表購買個人測試證書,仔細(xì)閱讀并勾選服務(wù)協(xié)議,單擊立即購買并完成支付。
配置項
描述
免費版?zhèn)€人測試證書領(lǐng)取示例
產(chǎn)品
SSL證書:即正式證書購買入口。詳細(xì)參數(shù)說明,請參見購買SSL證書。
個人測試證書:一般用于測試、個人試用場景。
關(guān)于正式證書和個人測試證書區(qū)別,請參見個人測試證書說明。
個人測試證書
證書類型
個人測試證書(免費版):即免費證書,證書簽發(fā)后有效期3個月。
個人測試證書(pro):需支付基礎(chǔ)的服務(wù)費(68元/張/年)。證書簽發(fā)后有效期為12個月。
個人測試證書(免費版)
服務(wù)
僅個人測試證書(免費版)顯示。
說明個人測試證書不保證OCSP(Online Certificate Status Protocol,在線證書狀態(tài)協(xié)議)穩(wěn)定性。
保持默認(rèn)
購買數(shù)量
個人測試證書(免費版):默認(rèn)為20。
每個阿里云個人或企業(yè)用戶(以實名認(rèn)證為準(zhǔn))每個自然年可以一次性申請20張免費版?zhèn)€人測試證書(每個自然年僅限領(lǐng)取1次)。更多關(guān)于免費版本個人測試證書適用場景、領(lǐng)取規(guī)則和使用限制說明,請參見個人測試證書說明。
說明自然年是每年的01月01日~12月31日,免費領(lǐng)取的證書資源包在每個自然年末將未申請的額度清零(每年12月31日24:00:00),您需要等到第二年的1月1日00:00:00后申請領(lǐng)取當(dāng)年的免費版?zhèn)€人測試證書資源包。
如果您在一自然年內(nèi)已經(jīng)使用完20張免費版?zhèn)€人測試證書,您可以購買個人測試證書(pro)或HTTPS加速網(wǎng)關(guān),具體操作,請參見個人測試證書升級指南,或直接購買正式證書,具體操作,請參見購買SSL證書。
個人測試證書(pro):一次性購買證書的最少為1張,最大為100張。
保持默認(rèn)
其他服務(wù)
申請協(xié)助和部署服務(wù)可以為您解決在使用SSL證書時遇到的各種問題。在申請證書時,協(xié)助您梳理申請材料,并主動與CA簽發(fā)機構(gòu)進行協(xié)調(diào),以確保證書在最短時間內(nèi)簽發(fā)。如果您不具備安裝或配置證書的能力,專家可為您提供視頻遠程指導(dǎo),幫助您快速定位問題,解決您的技術(shù)難題。更多信息,請參見購買證書申請協(xié)助和部署服務(wù)。
不需要
申請協(xié)助服務(wù):工作日服務(wù)時間內(nèi)(9:00~18:00)幫助您快速簽發(fā)SSL證書。
部署服務(wù):工作日服務(wù)時間內(nèi)(9:00~18:00)幫助您部署RSA或ECC算法證書。
申請協(xié)助+部署服務(wù):證書申請和部署全流程協(xié)助,支持非工作日服務(wù)時間(9:00~18:00),幫您快速完成證書簽發(fā)和部署。
不需要
提交免費證書申請
在左側(cè)導(dǎo)航欄,選擇。
在SSL證書頁面,單擊個人測試證書(原免費證書)頁簽。
在個人測試證書(原免費證書)頁簽,單擊創(chuàng)建證書。
在證書申請面板,配置證書參數(shù),選中快捷簽發(fā),單擊提交審核。
在證書申請面板,按照下表配置證書參數(shù),選中快捷簽發(fā),并單擊提交審核。
配置項
說明
證書類型
選擇個人測試證書(免費版)。
證書剩余數(shù)量/總數(shù)
表示剩余可申請的證書個數(shù)/總共可申請的證書個數(shù)。只有當(dāng)剩余可申請的證書個數(shù)不為0時,您才可以創(chuàng)建證書。
域名名稱
填寫該證書用于保護的網(wǎng)站域名。
數(shù)量
證書數(shù)量,默認(rèn)為1,不支持增加。
快捷簽發(fā)
說明快捷簽發(fā)是指在當(dāng)前步驟填寫證書申請資料并提交審核。
域名驗證方式
如果您當(dāng)前的阿里云賬號與域名的DNS云解析服務(wù)所在賬號一致,申請證書時,阿里云數(shù)字證書管理服務(wù)將會自動識別,并默認(rèn)選擇自動DNS驗證方式,且不支持修改,提交審核后,系統(tǒng)會自動進行DNS驗證。
如果您當(dāng)前的阿里云賬號與域名的DNS云解析服務(wù)所在賬號不一致,您可以選擇以下任意一種方式進行域名所有權(quán)驗證。
手動DNS驗證:您需要手動修改域名的DNS解析記錄,并在證書綁定域名的域名控制臺,添加一條解析記錄用于域名所有權(quán)驗證。
域名授權(quán)自動化驗證:您需要手動在對應(yīng)的DNS域名解析服務(wù)商,添加一條CNAME類型的解析記錄用于域名所有權(quán)驗證。添加成功后,后續(xù)申請對應(yīng)域名的SSL證書時可以直接選擇該方式,且無需再添加域名解析記錄。具體操作,請參見域名所有權(quán)驗證。
文件驗證:您需要手動從數(shù)字證書管理服務(wù)控制臺下載一個專用的證書驗證文件,然后將該文件上傳到站點服務(wù)器的指定驗證目錄。
聯(lián)系人
從下拉列表中選擇本次證書申請的聯(lián)系人(包含郵箱、手機號碼等聯(lián)系信息)。
重要收到證書申請請求后,CA中心會向聯(lián)系人郵箱發(fā)送證書申請驗證郵件或者通過聯(lián)系人手機號碼溝通審核相關(guān)事宜。因此,請務(wù)必確保聯(lián)系人信息準(zhǔn)確且有效。
如果您未創(chuàng)建過聯(lián)系人,可以單擊新建聯(lián)系人,新建一個聯(lián)系人。數(shù)字證書管理服務(wù)會保存新建的聯(lián)系人信息,方便您下次使用。關(guān)于新建聯(lián)系人的具體配置,請參見管理聯(lián)系人。
所在地
選擇申請人所在城市或地區(qū)。
密鑰算法
證書使用的密鑰算法。
默認(rèn)選擇為RSA,且不支持修改。RSA算法是目前在全球應(yīng)用廣泛的非對稱加密算法,兼容性好。
CSR生成方式
CSR(Certificate Signing Request)文件是您的證書請求文件。該文件包含您的SSL證書信息,例如,證書綁定的域名、證書持有主體的名稱及地理位置信息等。
您向CA中心提交證書申請時,必須提供CSR。CA中心審核通過您的證書申請后,將使用其根CA私鑰為您提供的CSR簽名,生成SSL證書公鑰(即簽發(fā)給您的SSL證書)。SSL證書的私鑰即您在生成CSR時同時生成的私鑰。
您可以選擇以下CSR生成方式:
系統(tǒng)生成:表示由數(shù)字證書管理服務(wù)自動使用您在密鑰算法指定的加密算法生成CSR文件(您可以在證書簽發(fā)后下載證書和私鑰)。推薦您使用該方式。
手動填寫:表示您是使用OpenSSL或Keytool等工具手動生成的CSR和私鑰文件,并將CSR內(nèi)容復(fù)制粘貼到CSR文件內(nèi)容(私鑰文件由您自行保管)。關(guān)于如何制作CSR和私鑰文件,請參見如何制作CSR文件。
重要CSR生成方式選擇手動填寫后,您將無法在數(shù)字證書管理控制臺將該證書部署到阿里云產(chǎn)品中。
申請國密算法證書且選擇手動填寫CSR時,由于私鑰不在阿里云,獲得的加密證書需要私鑰配合完成解密,請您聯(lián)系私鑰生成方協(xié)助完成解密工作。
您提供的CSR內(nèi)容正確與否直接關(guān)系到證書申請流程是否能順利完成,建議您使用數(shù)字證書管理服務(wù)自動生成的CSR(即選擇系統(tǒng)生成方式),避免因提供的CSR內(nèi)容不正確導(dǎo)致證書審核失敗。
請確保您手動填寫的CSR使用的加密算法與密鑰算法中選擇的算法相同,否則您將無法順利提交證書審核。 如果您不清楚CSR使用的加密算法,您可以通過查看CSR工具查看,具體操作,請參見查看CSR詳情。
在制作CSR文件時請務(wù)必保存好您的私鑰文件。私鑰和SSL證書一一對應(yīng),一旦私鑰丟失,您的SSL證書也將不可使用。阿里云不負(fù)責(zé)保管您的私鑰,如果您的私鑰丟失,您必須重新購買SSL證書。
選擇已有的CSR:表示從您在數(shù)字證書管理服務(wù)控制臺創(chuàng)建的CSR或上傳的CSR中,選擇與證書綁定域名相匹配的CSR。
您必須先使用數(shù)字證書管理服務(wù)提供的CSR管理工具手動創(chuàng)建CSR或上傳已有的CSR,才可以使用該方式。具體操作,請參見創(chuàng)建CSR和上傳CSR。
重要您選擇的CSR使用的加密算法需要和您在密鑰算法中設(shè)置的算法相同,否則您將無法順利提交證書審核。如果您不清楚CSR使用的加密算法或域名,您可以通過查看CSR工具查看,具體操作,請參見查看CSR詳情。
CSR文件內(nèi)容
只有在CSR生成方式為手動填寫或選擇已有的CSR時,需要配置該參數(shù)。在此處填寫您的CSR文件內(nèi)容。
按照驗證信息中的提示,完成域名所有權(quán)的驗證。
域名所有權(quán)驗證成功后,證書通常會在1~2個工作日完成簽發(fā),最快10分鐘內(nèi)簽發(fā)。證書簽發(fā)后,證書狀態(tài)將變更為已簽發(fā)。如果SSL證書長時間未簽發(fā),請您檢查DNS驗證配置是否正確。域名所有權(quán)驗證更多信息和常見報錯,請參見域名所有權(quán)驗證。
說明如果您未選中快捷簽發(fā),創(chuàng)建證書申請后,您將獲得一個證書(對應(yīng)要申請的證書)。您需要在該證書操作列,單擊證書申請,填寫證書申請信息并提交審核后,再按照該步驟進行驗證。
步驟二:配置SSL證書
證書簽發(fā)后,證書狀態(tài)將變更為已簽發(fā),您需要部署SSL證書至服務(wù)器并配置證書。關(guān)于證書部署和安裝的更多信息,請參見SSL證書安裝指南。
上傳部署SSL證書。
在左側(cè)導(dǎo)航欄,選擇。
在云服務(wù)器部署頁面,單擊創(chuàng)建任務(wù),按照以下步驟部署SSL證書。
在基礎(chǔ)配置引導(dǎo)頁,自定義任務(wù)名稱,單擊下一步。
在選擇證書引導(dǎo)頁,選擇證書類型以及關(guān)聯(lián)云服務(wù)器的SSL證書,單擊下一步。
在選擇資源引導(dǎo)頁,選擇對應(yīng)的云服務(wù)器和資源,單擊下一步。
系統(tǒng)會自動識別并拉取當(dāng)前阿里云賬號下所有符合條件的云服務(wù)器實例資源(即云服務(wù)器部署了Web應(yīng)用)。如果仍未顯示對應(yīng)資源,請檢查云服務(wù)器是否部署了Web應(yīng)用,例如Nginx,Apache等。
若某個實例之前部署過證書,系統(tǒng)會顯示已部署證書的名稱。
在部署配置引導(dǎo)頁,參考下表部署證書至云服務(wù)器,單擊確定。
重要如果服務(wù)器中不存在對應(yīng)的證書配置目錄,系統(tǒng)將會自動進行創(chuàng)建。控制臺配置的路徑應(yīng)當(dāng)與云服務(wù)器Web應(yīng)用中配置的證書相關(guān)文件的路徑保持一致。
配置項
描述
配置示例
證書路徑
設(shè)置證書文件存放在云服務(wù)器中的絕對路徑。
/usr/local/nginx/conf/ssl/cert.pem
私鑰路徑
設(shè)置證書私鑰文件存放在云服務(wù)器中的絕對路徑。
/usr/local/nginx/conf/ssl/cert.key
證書鏈路徑
設(shè)置證書鏈文件存放在云服務(wù)器中的絕對路徑。
無需配置。
重啟命令
在部署證書后,需要重啟云服務(wù)器中的Web應(yīng)用或重新加載Web應(yīng)用配置文件,以使證書生效。因此,您可以設(shè)置Web應(yīng)用的重啟或重新加載配置文件命令。
重要執(zhí)行相關(guān)命令時,可能會出現(xiàn)服務(wù)啟動失敗的情況。如果服務(wù)啟動失敗,請前往對應(yīng)的云服務(wù)器進行操作。
無需配置。
在提示對話框,單擊確定。
配置SSL證書。
遠程連接輕量應(yīng)用服務(wù)器。具體操作,請參見遠程連接Linux服務(wù)器。
執(zhí)行以下命令,修改WordPress配置文件wordpress.conf。
說明本示例WordPress環(huán)境中默認(rèn)安裝的是Nginx,不同環(huán)境的配置文件路徑和名稱可能不一樣,請您以實際環(huán)境為準(zhǔn)。
sudo vim /usr/local/nginx/conf/vhost/wordpress.conf
按
i
鍵,進入編輯模式。在配置文件
server{}
代碼段中配置證書路徑。修改后的配置文件示例如下所示:
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; #配置SSL證書路徑。證書路徑需與部署證書時設(shè)置一致。 ssl_certificate /usr/local/nginx/conf/ssl/cert.pem; ssl_certificate_key /usr/local/nginx/conf/ssl/cert.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; server_name _; access_log /data/wwwlogs/wordpress_nginx.log combined; index index.html index.htm index.php; root /data/wwwroot/wordpress; #if ($ssl_protocol = "") { return 301 https://$host$request_uri; } #if ($host != www.example.com) { return 301 $scheme://www.example.com$request_uri; } include /usr/local/nginx/conf/rewrite/wordpress.conf; #error_page 404 /404.html; #error_page 502 /502.html; location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { deny all; } }
修改完成后,按
Esc
鍵,輸入:wq!
并按Enter
鍵,保存修改后的配置文件并退出編輯模式。執(zhí)行以下命令,重啟Nginx服務(wù)。
sudo systemctl reload nginx
運行以下命令,重啟數(shù)據(jù)庫。
sudo service mysqld restart
步驟三:驗證SSL證書是否安裝成功
在WordPress后臺管理頁面配置HTTPS域名。
登錄WordPress后臺管理頁面。
后臺管理頁面地址、用戶名、密碼的獲取方式具體操作,請參見步驟二:配置應(yīng)用。
在左側(cè)導(dǎo)航欄中,選擇 。
在WordPress地址(URL)和站點地址(URL)后,輸入您已綁定并解析的域名,本文以
https://example.com
為例。單擊保存更改。
說明修改WordPress地址(URL)和站點地址(URL)后,則管理員登錄地址變?yōu)?code data-tag="code" code-type="xCode" class="code">https://example.com/wp-login.php,
example.com
需要替換為您的實際域名。
使用瀏覽器訪問
https://輕量應(yīng)用服務(wù)器對應(yīng)的域名
。
相關(guān)文檔
不同類型的服務(wù)器支持配置的SSL證書格式不同,您可以根據(jù)服務(wù)器的類型選擇安裝對應(yīng)的SSL證書。具體操作,請參見SSL證書安裝指南。