如何簡單的給靜態部落格網站用上HTTPS
阿新 • • 發佈:2019-12-31
簡介
谷歌瀏覽器已經把沒有使用HTTPS協議的網站全部標記為不安全,為了讓瀏覽器不把我們的網站標記為不安全,為了讓訪問者能更安心的瀏覽我們的網站,我們只能為我們的網站開啟HTTPS協議支援,由於 Let’s Encrypt 可以為我們提供免費證書使用,我們就可以免費的為我們的網站申請證書,但是由於證書有效期只有3個月,當證書快過期時,我們需要重新續簽。為此有不少工具能幫助我們完成自助的申請證書以及續簽。但是這仍然需要不少的配置。這時一個名為 Caddy 的跨開臺開源軟體出現了,Caddy 能自動幫我們申請證書,當證書快過期時自動續簽,只需一次配置,後續基本不需要再做其他配置,非常的方便,完全可以代替 Nginx 與 Apache 。
安裝
去 Caddy 的 Github 釋出頁下載對應平臺的二進位制壓縮包
解壓安裝
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
複製程式碼
注意事項
- 在配置使用 Caddy 之前請確保 DNS 解析配置正常,請把你需要配置的域名解析到你安裝配置 Caddy 機器的外網 IP 上。
- 如果需要申請支援萬用字元的證書,如為
*.mgxian.dev
申請證書,需要使用 DNS Challenge 的方式來申請證書,具體詳細檔案可參考 DNS Challenge 。 - 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
複製程式碼