免費SSL證書申請及部署實踐

2022-07-16 06:00:24

網路上關於如何簽發免費SSL證書的博文一大片,但是真正操作起來的能讓新手不迷惑的卻很少,很多操作步驟受限於國內無法存取外網的阻礙,導致無法真正實施成功。
實際上,關於申請免費SSL證書主要涉及兩大部分:
第一,如何快速申請到一個免費的DV證書(通常免費的證書都是DV證書,DV證書對於個人或者測試用途足夠了)。
第二,成功申請到證書之後如何設定部署,使得網站可以通過HTTPS存取。

上面兩步可以使用指令碼工具自動化實現,也可以手動完成。
如下範例將以完全手動的方完成SSL證書申請和部署(基於nginx)。

申請SSL證書

再經歷了仔細閱讀Let’s Encrypt手冊依然沒有成功完成SSL證書申請的煎熬之後,果斷放棄。
最後在FreeSSL.cn非常直觀簡單地就完成了免費SSL證書的簽發。
個人覺得,在FreeSSL.cn上籤發SSL證書真的非常方便,熱別適合新手使用。
首先,進入到FreeSSL.cn頁面,選擇支援多域名和萬用字元的「5lSSL」。

跳轉到51ssl的頁面,此時需要註冊一個賬戶並登入。
選擇「訂單管理」->「證書申請」。

選擇「非商業證書」->「TrustAsia 免費域名型萬用字元SSL證書」,點選「購買」按鈕。

說明:在這裡選擇什麼型別的證書,完全根據自己的需求而定。由於我需要使用多個子域名證書,所以選擇了「TrustAsia 免費域名型萬用字元SSL證書」。

來到「申請 TrustAsia 免費域名型萬用字元SSL證書」的操作介面。
填寫好相關細心之後,點選「提交證書申請」按鈕。

接下來最重要的一步就是「域名驗證」,強烈建議使用「Email驗證」方式,這樣只需要在收到驗證郵件之後滑鼠點選就可以完成驗證操作。
根據提示完成相關驗證操作,證書的簽發需要等待一會兒,不要著急,大約幾分鐘之後會收到證書籤發成功的郵件。

在收到證書籤發成功的郵件通知以後,再次來到管理後臺介面,選擇「訂單管理」,點選訂單編號旁邊的「快速檢視」,在彈出介面中點選「下載證書」,彈出證書下載介面。

在證書下載彈出介面中,首先選擇部署SSL證書的伺服器,然後再選擇「下載」,或者將證書檔案傳送到郵箱。

以部署到nginx的證書為例,下載得到一個壓縮包,包含2個檔案:

  • 「.pem檔案」:SSL證書檔案
  • 「.key檔案」:SSL證書私鑰檔案

部署SSL證書

注意:在部署SSL證書之前,先要確保域名已經在新增瞭解析,並且可以通過http協定使用域名存取到目標網站。

以在nginx中部署SSL證書為例,將通過上述方式簽發得到的SSL證書上傳到nginx伺服器,在nginx組態檔中新增設定:

server {
   listen       80;
   server_name  www.zhangsan.org.cn;
   # 存取http時強制跳轉到https
   rewrite ^(.*)$  https://$host$1 permanent;
}

server {
   listen 443 ssl;
   server_name  www.zhangsan.org.cn;

   root   /data/www;
   index  index.html index.htm;

   access_log /dev/null;
   ssl_certificate  /data/ssl/zhangsan.org.cn_cert_chain.pem; #  證書檔案路徑
   ssl_certificate_key  /data/ssl/zhangsan.org.cn_key.key; # 證書私鑰檔案路徑
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;
}

至此,簽發和部署免費SSL證書的操作過程完畢!

【參考】
https://freessl.cn/
https://www.jianshu.com/p/1a792f87b6fe Let's Encrypt 證書申請及設定
https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker
https://www.laoliang.net/jsjh/technology/8898.html 2021年阿里雲最新新手詳細申請免費SSL(https)證書圖解方法(流程)
https://blog.csdn.net/jiuyuefenglove/article/details/108625400 SSL證書申請最詳細教學
https://zhuanlan.zhihu.com/p/174755007 33種免費獲取SSL證書的方式
https://blog.csdn.net/ithomer/article/details/78075006 十大免費SSL證書:網站免費新增HTTPS加密
https://blog.fundebug.com/2018/07/06/apply-lets-encrypt-certificate/ 教你快速擼一個免費HTTPS證書
https://www.awaimai.com/2218.html 使用Let's Encrypt為網站加上HTTPS
https://coolshell.cn/articles/18094.html 如何免費的讓網站啟用HTTPS
https://yeaheo.com/post/nginx-lets-encrypt-ssl-certificate-config/ 免費申請 Let's Encrypt SSL 證書
https://blog.sprov.xyz/2019/04/25/apply-ssl-certificate-at-freessl/ 在 FreeSSL 上為你的域名申請免費 SSL 證書
https://cn.aliyun.com/product/cas 阿里雲申請免費SSL證書