手里有台家宽 NAT 小鸡,想拿来建个小站玩玩。 卡在 SSL 证书这一步了,80/443 端口都不通,acme.sh 的 http 验证走不通。 mjj 们这种场景都用的啥方案?DNS 验证还是直接套 CF 的源站证书?
dns验证就行 不吃端口。cf后台建个只给这个域名 Zone DNS 编辑权限的 api token 然后 export CF_Token="你的token" acme.sh --issue --dns dns_cf -d 你的域名 acme.sh --install-cert -d 你的域名 --key-file /etc/ssl/site.key --fullchain-file /etc/ssl/site.crt --reloadcmd "systemctl reload nginx" token会存进 account.conf 自带的cron到期自己续 reload 也会自己跑。另外nat小鸡访问还得带映射端口 想不带端口就套cf橙云 在 Rules 里加一条 Origin Rule 把回源端口改成你的nat映射端口 免费版就有 这样外面走443 cf再回源到你那个高位端口。
NAT 小鸡 DNS 验证是唯一解,#1 写得很全了。补一句,acme.sh 的 CF token 记得只给单个 zone 的 DNS 编辑权限,别用全局 API key,小鸡被打穿了也不至于连累整个账号
补充一下 CF 源站证书的区别:它是给 CF 到源站这段连接用的,浏览器直连源站不会正常信任;以后改灰云或撤掉 CF 时要换公开受信任的证书。 楼上说“过期、自签都行”对应的是 Full 模式,不适用于 Full (strict)。如果套 CF,源站装有效的 Origin CA 或公开证书,再用 Full (strict);如果还想保留直连,选 DNS 验证签发公开证书更方便。 另外,拿到证书并不会让 80/443 自动可达,NAT 的访问入口仍要另外确认。官方说明:https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/
dns验证就行 不吃端口。cf后台建个只给这个域名 Zone DNS 编辑权限的 api token 然后
export CF_Token="你的token"
acme.sh --issue --dns dns_cf -d 你的域名
acme.sh --install-cert -d 你的域名 --key-file /etc/ssl/site.key --fullchain-file /etc/ssl/site.crt --reloadcmd "systemctl reload nginx"
token会存进 account.conf 自带的cron到期自己续 reload 也会自己跑。另外nat小鸡访问还得带映射端口 想不带端口就套cf橙云 在 Rules 里加一条 Origin Rule 把回源端口改成你的nat映射端口 免费版就有 这样外面走443 cf再回源到你那个高位端口。
dns验证闭眼选
托管到cf走cdn,cf给你解决ssl证书。你服务器上随便弄个证书,自签发的过期的都行,cf不验证证书有效性。
dns验证
NAT 小鸡 DNS 验证是唯一解,#1 写得很全了。补一句,acme.sh 的 CF token 记得只给单个 zone 的 DNS 编辑权限,别用全局 API key,小鸡被打穿了也不至于连累整个账号
dns验证,看你托管的服务商。
常用cf/ali的,开个key自动管理续费
补充一下 CF 源站证书的区别:它是给 CF 到源站这段连接用的,浏览器直连源站不会正常信任;以后改灰云或撤掉 CF 时要换公开受信任的证书。
楼上说“过期、自签都行”对应的是 Full 模式,不适用于 Full (strict)。如果套 CF,源站装有效的 Origin CA 或公开证书,再用 Full (strict);如果还想保留直连,选 DNS 验证签发公开证书更方便。
另外,拿到证书并不会让 80/443 自动可达,NAT 的访问入口仍要另外确认。官方说明:https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/