2024年網站免費SSL憑證申請方法

Posted by Y Cheung on Fri, May 3, 2024

之前Y Cheung已經寫過關於網站安裝免費SSL憑證的教程了,而在2024年,操作方法變得更簡單了,本文介紹了2種申請安裝免費SSL憑證的方法。

Let’s Encrypt 免費憑證

Let’s Encrypt提供的免費SSL可以通過CertBot安裝。

⚠如今官網推薦使用Snapcraft安裝,而不是LinuxOS自帶的包管理工具安裝certbot。

Snapcraft是什麼

Snap是 Canonical公司發布的軟件部署和軟件套件管理包,Snapcraft是構建和發布snaps的命令和框架。

安裝 certbot 及 SSL憑證

無論你使用的server是用aptdnf還是yum管理軟件,都推薦使用snap安裝。

  1. 目前Ubuntu 16.04LTS以上版本已內置了snap daemon,可以直接使用snap命令,如果你是其他系統,需要先安裝snap。安裝Snap的方法可以參考官方文檔

  2. 如果系統中已經通過原生包管理工具安裝了certbot,那麼請先卸載它。通常可以使用以下相對應的命令:

1sudo apt-get remove certbot
2sudo dnf remove certbot
3sudo yum remove certbot
  1. 安裝certbot
1sudo snap install --classic certbot
  1. 準備certbot命令
1sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. 獲取及安裝ssl憑證。安裝好後會自動在過期前更新憑證,而不用像以前那樣人工操作或另外腳本更新。
1sudo certbot --nginx //如果你的web server是nginx
2sudo certbot --apache //如果你的web server是apache

根據提示輸入要安裝的站點的序號後繼續流程

申請與安裝 Cloudflare 免費憑證

  1. 在Cloudflare註冊(參考Y Cheung之前寫的《使用Cloudflare加速和保護你的Wordpress網站》)並添加好站點後,在網站管理選單中點擊【SSL/TLS】➡【原始伺服器】,再點擊【建立憑證】按鈕。

Websites➡SSL/TLS➡Origin Server➡Create Certificate

  1. 保留默認選項,點擊【建立】按鈕。

just click create button

  1. 接下來的頁面上將顯示有【原點憑證】和【私密金鑰】,如此便能獲得15年的萬用SSL憑證(Wildcard SSL)了,這個憑證只有在這個網站使用CloudFlare做Proxy DNS的時候才會生效。

copy private key and CSR

  1. ssh登入主機後,將原點憑證內容複製到 /etc/ssl/cert.pem,將私密金鑰內容複製到/etc/ssl/key.pem

  1. 如果跟Y Cheung 一樣用的是Nginx,那麼更改網站的配置文件將大約如下:
 1server {
 2    listen 80;
 3    listen [::]:80;
 4    server_name example.com www.example.com;
 5    return 302 https://$server_name$request_uri;
 6}
 7
 8server {
 9
10    # SSL configuration
11
12    listen 443 ssl http2;
13    listen [::]:443 ssl http2;
14    ssl_certificate     /etc/ssl/cert.pem;
15    ssl_certificate_key     /etc/ssl/key.pem;
16
17    server_name example.com www.example.com;
18
19    root /var/www/html;
20    index index.html index.htm index.nginx-debian.html;
21
22    # other configs ...
23}
  1. 重啟Nginx服務
1sudo /etc/init.d/nginx restart
  1. 回到Cloudflare SSL/TLS頁面,將SSL/TLS加密模式改為【完整(嚴格)】