1. 程式人生 > 程式設計 >如何簡單的給靜態部落格網站用上HTTPS

如何簡單的給靜態部落格網站用上HTTPS

簡介

谷歌瀏覽器已經把沒有使用HTTPS協議的網站全部標記為不安全,為了讓瀏覽器不把我們的網站標記為不安全,為了讓訪問者能更安心的瀏覽我們的網站,我們只能為我們的網站開啟HTTPS協議支援,由於 Let’s Encrypt 可以為我們提供免費證書使用,我們就可以免費的為我們的網站申請證書,但是由於證書有效期只有3個月,當證書快過期時,我們需要重新續簽。為此有不少工具能幫助我們完成自助的申請證書以及續簽。但是這仍然需要不少的配置。這時一個名為 Caddy 的跨開臺開源軟體出現了,Caddy 能自動幫我們申請證書,當證書快過期時自動續簽,只需一次配置,後續基本不需要再做其他配置,非常的方便,完全可以代替 Nginx 與 Apache 。

安裝

去 Caddy 的 Github 釋出頁下載對應平臺的二進位制壓縮包

github.com/caddyserver…

解壓安裝

tar xf caddy_v1.0.3_linux_amd64.tar.gz
mv caddy /usr/local/bin
caddy -version
複製程式碼

配置 Caddy

把如下的配置檔案寫入名為 Caddyfile 的檔案中。

mgxian.dev {
    root /data/blog/mgxian
    gzip
    log ./access.log
}

www.mgxian.dev {
    redir https://mgxian.dev{uri}
    log
./access.log } 複製程式碼

1-5 為 mgxian.dev 域名的相關配置,指定根目錄為 /data/blog/mgxian ,開啟 gzip 壓縮,並把訪問日誌記錄在當前目錄的 access.log 檔案中。

7-10 為 www.mgxian.dev 域名的相關配置,表示當訪問 www.mgxian.dev 域名的相關資源時,將會自動跳轉到 mgxian.dev 域名。

啟動 Caddy

啟動 Caddy 之後會自動申請 HTTPS 的證書,並自動開啟對 HTTP2 協議的支援,啟動過程中可能會提示你輸入郵箱接受證書相關的提醒。

caddy -conf Caddyfile
複製程式碼

注意事項

  1. 在配置使用 Caddy 之前請確保 DNS 解析配置正常,請把你需要配置的域名解析到你安裝配置 Caddy 機器的外網 IP 上。
  2. 如果需要申請支援萬用字元的證書,如為 *.mgxian.dev 申請證書,需要使用 DNS Challenge 的方式來申請證書,具體詳細檔案可參考 DNS Challenge
  3. Caddy 不僅可以作為一個像 Apache 與 Nginx 一樣的 Web Server ,也可以配置為反向代理,代理後端 Apache 與 Nginx 等應用。

訪問測試

啟動完成後,使用 cURL 訪問你的網站域名進行測試。

curl -I https://mgxian.dev/
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 64846
Content-Type: text/html; charset=utf-8
Etag: "pwsec41e1a"
Last-Modified: Sun,25 Aug 2019 09:57:40 GMT
Server: Caddy
Date: Sun,25 Aug 2019 09:59:27 GMT
複製程式碼

參考檔案