如何簡單的給靜態博客網站用上HTTPS

簡介

谷歌瀏覽器已經把沒有使用HTTPS協議的網站所有標記爲不安全,爲了讓瀏覽器不把咱們的網站標記爲不安全,爲了讓訪問者能更安心的瀏覽咱們的網站,咱們只能爲咱們的網站開啓HTTPS協議支持,因爲 Let’s Encrypt 能夠爲咱們提供免費證書使用,咱們就能夠免費的爲咱們的網站申請證書,可是因爲證書有效期只有3個月,當證書快過時時,咱們須要從新續簽。爲此有很多工具能幫助咱們完成自助的申請證書以及續簽。可是這仍然須要很多的配置。這時一個名爲 Caddy 的跨開臺開源軟件出現了,Caddy 能自動幫咱們申請證書,當證書快過時時自動續簽,只需一次配置,後續基本不須要再作其餘配置,很是的方便,徹底能夠代替 Nginx 與 Apache 。html

安裝

去 Caddy 的 Github 發佈頁下載對應平臺的二進制壓縮包linux

github.com/caddyserver…git

解壓安裝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 域名。bash

啓動 Caddycurl

啓動 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
複製代碼

參考文檔

相關文章
相關標籤/搜索