如何在GCP负载均衡(CDN)中配置Letsencrypt合规SSL证书
谷歌云负载均衡配置Let's Encrypt可信证书解决方法
首选方案:使用DNS-01验证模式(完全规避命令行环境访问域名的要求)
该方案无需你运行命令的Cloud Shell实例和域名解析IP绑定,是当前场景下成功率最高的解法:
- 先在Cloud Shell中安装certbot工具,执行命令:
apt update && apt install certbot -y - 运行手动DNS验证的证书生成命令,替换为你自己的实际域名:
certbot certonly --manual --preferred-challenges dns -d 你的实际域名 - 按命令行输出的提示,前往你的域名解析服务商后台,添加指定的TXT解析记录:主机记录为
_acme-challenge.你的实际域名,记录值为certbot输出的随机字符串 - 添加完成后等待2-5分钟让解析生效,回到Cloud Shell按回车继续验证,验证通过后即可生成受信任的证书
- 生成的证书文件默认存储在
/etc/letsencrypt/live/你的实际域名/路径下,其中fullchain.pem为负载均衡需要的证书文件,privkey.pem为对应的私钥文件,直接拿到负载均衡前端配置界面上传即可
备选方案:临时使用后端实例完成HTTP-01验证
如果你不方便修改域名解析记录,可通过临时调整后端实例配置完成验证:
- 先临时关闭实例组的自动扩缩容功能,避免当前唯一的实例被系统自动回收替换
- 登录到后端的单个实例中,放开实例的80端口入站防火墙规则
- 在实例中安装certbot后执行命令:
certbot certonly --standalone -d 你的实际域名 - 验证完成后将生成的证书和私钥文件下载到本地,再上传到Cloud Shell中配置到负载均衡前端即可,配置完成后恢复实例组的自动扩缩容配置即可
注意:如果需要实现证书自动续期,可直接使用谷歌云托管的SSL证书服务,无需手动维护证书有效期,完全兼容现有负载均衡架构
内容的提问来源于stack exchange,提问作者Vitaliy Kuzmenko
相关产品推荐
相关产品推荐

