0. 實踐目的:
有一台ECS伺服器運作一個比較重要的網站,為了保證中間的資料傳輸安全需要對其加密,在阿裡雲平台中使用SSL證書服務來完成這個需求。
1. SSL證書服務購買:
實驗用途,選擇免費版本,如果是線上對安全性要求比較高的建議選擇
專業版、進階版、增強型的SSL證書
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLhVTNkVWY2EDMjRDN1kzNiVDZwQTOkRjYxMDN2MWZ0czMlVDOldTO58CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
2. SSL證書申請:
填寫域名資訊,所在地資訊,域名驗證方式因為雲解析服務已經有yekangming.com域名,是以可以選擇自動DNS驗證,如果是手工DNS驗證,需要手動配置配置DNS驗證,填寫申請人資訊,CSR選擇系統自動生成。
CSR知識補充:1、使用 系統生成CSR 方式,系統将自動幫您生成證書私鑰,并且在證書申請成功後可直接在證書管理清單中下載下傳您的證書和私鑰。
您也可以自己生成 CSR(Certificate Signing Request)證書請求檔案,并上傳CSR,在證書申請成功後可直接在證書管理清單中下載下傳您的證書。
如果是手工驗證需要手動添加一條DNS TXT類型的解析記錄。
等待證書審批完成,狀态會變成已簽發
3. SSL證書應用:
3.1 下載下傳SSL證書,需要根據應用伺服器類型,因為我的環境是Apache Httpd,是以我選擇選下載下傳Apache(按需選擇)
3.2 解壓下載下傳的證書壓縮包,并上傳到ECS伺服器。
3.3 修改Apache httpd配置,應用SSL證書。配置修改完成後要重新開機應用。(Apache Httpd請看3.3,如果是Nginx請看3.4)
3.3.1 将通路請求從HTTP跳轉HTTPS
編輯站點根目錄下的.htaccess進行配置,判斷請求的端口是否80,如果是就比對規則調整到HTTPS。
RewriteEngine
On
RewriteCond
%{SERVER_PORT} 80
RewriteRule
^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
3.3.2 啟用Apache httpd SSL子產品及配置
将#号删除表示啟用配置
LoadModule
ssl_module modules/mod_ssl.so
Include
conf/extra/httpd-ssl.conf
3.3.3 配置密鑰對和證書鍊等資訊
Listen
443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex
default
SSLRandomSeed
startup file:/dev/urandom 256
connect builtin
SSLCryptoDevice
builtin
SSLProtocol
all -SSLv2 -SSLv3
SSLHonorCipherOrder
on
SSLCipherSuite
ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:!RC4:
<VirtualHost
*:443>
DocumentRoot
"/data/webroot/mvp"
Servername
mvp.yekangming.com
ErrorLog
/var/log/httpd/mvp.yekangming.com-ssl-error.log
TransferLog
/var/log/httpd/mvp.yekangming.com-ssl-access.log
LogLevel
warn
SSLEngine
SSLCertificateFile
/data/certificate/mvp.yekangming.com-public.crt
SSLCertificateKeyFile
/data/certificate/mvp.yekangming.com-private.key
SSLCertificateChainFile
/data/certificate/chain.crt
</VirtualHost>
3.4 修改Nginx配置,配置修改完成後要重新開機應用。(Apache Httpd請看3.3,如果是Nginx請看3.4)
3.4.1 編輯nginx配置檔案,配置http跳轉https,配置443端口監聽及綁定證書。
server {
listen 80;
server_name mvp.yekangming.com;
location / {
rewrite ^/(.*)$
https://mvp.yekangming.com/$1 permanent;
}
}
server {
listen 443 ssl;
ssl_certificate
/data/certificate/mvp.yekangming.com-public.crt;
ssl_certificate_key
/data/certificate/mvp.yekangming.com-private.key;
root /data/webroot/mvp;
index index.php index.html;
}
4. SSL證書的通路測試
主流的火狐和谷歌浏覽器完美支援SSL證書,并正常顯示和通路。
5. SSL證書服務使用總結:
阿裡雲SSL證書使用非常簡單,很容易入門即可完成申請證書,配置證書,還可以支援一鍵部署到CDN及SLB雲産品中。