如何简单的给静态博客网站用上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
复制代码

参考文档

相关文章
相关标签/搜索