来自:zip11 > 馆藏分类
配色: 字号:
Caddy 与 Cloudflare 搭配使用,配置 TLS
2022-05-07 | 阅:  转:  |  分享 
  
Caddy与Cloudflare搭配使用,配置TLS2022年5月6日15:17?Caddy默认通过Let’sEncrypt
获得TLS证书[1],90天有效期,并且会在上一次顺利申请证书60天后尝试更新。但是如果我们套上CDN,域名指向
CDN提供的CNAME,就不能通过默认方法申请TLS证书了。?1.使用自签名证书在Caddy配置文件中设置自签名,这
样可以开启到Full,但是直连源站不能开启Https,因为自签名证书不被浏览器信任。?#2.手动更新证书快到期时临时撤下C
DN,更新证书,然后重新代理网站。可以开启到Full(strict)简单却麻烦。?当然也可以购买其他长期的证书,多付一些钱。
?#3.使用Cloudflare签发的证书长效,免费,受Cloudflare认可,可以开启到Full(strict),
但是直连源站不能开启Https,证书不被浏览器信任。?#4.继续使Caddy向Let‘sEncrypt申请证书合理的
方法,也是本文主要写的方法。?ACME有3中验证方式(ACMEchallenges:HTTPchallenge,TL
S-ALPNchallenge,DNSchallenge)。Caddy默认使用前两种,这里我们要使用第三种。?需要Cad
dy有一个额外的模块,dns.providers.cloudflare。可以下载官方编译的,也可以用xcaddy编译。我直
接下载了官方编译的,传到服务器上。?下载地址:https://caddyserver.com/download,记得勾选dns.p
roviders.cloudflare模块。?或者,自行编译:?buildxcaddy?goinstallgithub.co
m/caddyserver/xcaddy/cmd/xcaddy@latestbuildcaddy?xcaddybuild--
withgithub.com/caddy-dns/cloudflare我下载的Caddy可执行文件名字叫caddy_lin
ux_amd64_custom,给它可执行权限,试运行,看看有没有我们需要的模块。?chmod+xcaddy_linux_am
d64_custom./caddy_linux_amd64_customlist-modules|grepdns如果正常,
会显示出dns.providers.cloudflare模块。??用自行编译/下载的Caddy,替换原来的Caddy,Cad
dy一般安装在/usr/bin/,用whichcaddy这条命令来查找实际位置。?替换Caddy?sudomvcad
dy_linux_amd64_custom/usr/bin/caddy建议先安装原版Caddy再替换,否则还要写一个sys
temdservice文件。每次更新系统时,如果Caddy也更新了,要再次替换。?然后,要修改Caddy配置,下面两种
方法选择一种,建议每个网站独自设置,更灵活,获取Token的方法下面介绍。?全局选项(对所有网站使用DNSchalleng
e)在Caddyfile最上边加入?{acme_dnscloudflare3jd7w_Awe5ybpqG6zxXr6nR
T&ywQyR_EfQtKoRe(你的APItoken)}每个网站独自设置在每个网站的配置里,加入?tls{dnsclou
dflare3jd7w_Awe5ybpqG6zxXr6nRT&ywQyR_EfQtKoRe(你的APItoken)}??>>
获得CloudflareAPItoken在Cloudfalre网站打开Dashboard,找到API选项,http
s://dash.cloudflare.com/profile/api-tokens,新建APITOKEN,如模块作者写的那样设置??????
献花(0)
+1
(本文系zip11首藏)