局域网内用同域名HTTPS直连自托管应用的简化证书续期方案咨询
局域网内用同域名HTTPS直连自托管应用的简化证书续期方案咨询
我太懂你这种每3个月要折腾一遍的烦躁了——关防火墙、开端口、改Cloudflare域名,就为了续个证书,完全是没必要的重复劳动。这里有几个能帮你彻底摆脱这种麻烦的方案,按省心程度排序:
方案一:改用Cloudflare Origin CA证书(最省事)
Cloudflare提供了免费的Origin CA证书,专门给源服务器用的,有效期长达15年,而且不需要通过80/443端口验证,完美适配你的场景:
- 操作步骤:
- 登录Cloudflare后台,找到你的域名,进入「SSL/TLS」→「Origin Server」
- 点击「Create Certificate」,默认设置即可(可选择泛域名
*.yourdomain.com或指定单个域名) - 下载PEM格式的证书文件和私钥,上传到Synology NAS的证书管理界面,替换原有的Let's Encrypt证书
- 为什么适合你:
- 内网访问时,Pi-hole解析到本地NAS,这个证书会被大部分现代系统信任(Cloudflare根证书已预装在主流操作系统和浏览器中)
- 无需再折腾端口、防火墙,也不用每3个月手动续期,一次设置搞定十几年
- 外网通过Cloudflare Tunnel访问时,Cloudflare本身也会信任该证书,完全不影响原有流程
方案二:用DNS-01验证自动续期Let's Encrypt证书(保留原有证书体系)
如果你不想更换证书类型,只想自动化续期流程,DNS-01验证是最佳选择——不需要对外开放80/443端口,而是通过在DNS中添加TXT记录验证域名所有权,且Synology DSM直接支持该方式:
- 操作步骤:
- 登录Cloudflare后台,进入「My Profile」→「API Tokens」,创建一个新令牌,仅授予「Zone.DNS」的「Edit」权限,并指定你的目标域名
- 打开Synology DSM的「控制面板」→「安全」→「证书」,选中你的Let's Encrypt证书,点击「续期」
- 在续期界面选择「DNS验证」,服务商选「Cloudflare」,填入刚才生成的API令牌,保存后DSM会自动完成续期操作
- 为什么适合你:
- 全程自动化,后续每3个月续期无需手动干预
- 不用关防火墙、开端口,也不用修改Cloudflare域名配置,完全不影响现有网络环境
- 依然使用Let's Encrypt的可信证书,兼容性拉满
方案三:本地ACME客户端+Pi-hole DNS验证(不依赖Cloudflare API)
如果不想授予Cloudflare API权限,也可以用acme.sh这类本地ACME客户端,配合Pi-hole的API完成DNS验证:
- 操作步骤:
- 在Synology上通过Docker或终端安装
acme.sh - 配置
acme.sh使用DNS-01验证,指定Pi-hole的API密钥(在Pi-hole后台「Settings」→「API/Web Interface」中获取) - 编写简单脚本让
acme.sh自动续期证书,并同步到Synology的证书目录
- 在Synology上通过Docker或终端安装
- 注意点:这个方案需要你具备基础的终端操作能力,但好处是完全自主,不依赖第三方服务的API
不管选哪个方案,都能帮你彻底告别每3个月手动改一堆配置的痛苦。根据自己的技术偏好选择即可,我个人最推荐方案一,一次设置十几年不用管,省心到爆炸。
备注:内容来源于stack exchange,提问作者Adi
相关产品推荐
相关产品推荐

