群晖 NAS 自动更新 HTTPS 证书
这里说的更新证书是使用 Let’s Encrypt 的 HTTP 模式,这样可以用最少的人力干预自动更新证书,HTTP 模式更新有一个前提是 Let’s Encrypt 的服务器可以访问到域名指向 IP 机器的 80 和 443 端口。
更新证书首先设置好 FRP 做 HTTP 流量的内网穿透,因为即使家庭宽带有公网 IP,配置好了 DDNS,但是大部分情况下 80 和 443 端口是被封禁的,这样 Let’s Encrypt 无法访问,自然无法自动更新证书,使用 DNS 等其他方案需要更多麻烦,如果能用简单的方案解决问题,自然是更好的。
设置好 FRP 转发 HTTP 流量后,公网访问域名的 80 和 443 自然没有任何问题, 证书也可以更新,但是这个域名就指向公网的 IP 了,如果在外面访问 NAS 传输文件等,就会消耗公网服务器的流量,白白增加了成本,解决方案也很简单。
域名的 DNS 解析默认设置 CNAME 到 DDNS 域名或者直连 IP,但是另外增加一条 DNS 记录,解析请求来源中选择境外 IP,指向公网的 FRP IP 地址。
这样设置后 Let’s Encrypt 更新证书的请求可以通过 FRP 请求到家庭 NAS 的服务,成功更新证书,但是在其他情况下 DNS 默认解析 IP 到公网直连的家庭宽带 IP。可以避免使用公网流量。