谷歌云SSL证书全解析:从Google Trust Services到Certificate Manager,一篇搞懂
一、从一次证书过期说起
去年冬天的一个凌晨,我被一通电话从被窝里拽了出来。朋友做的一个跨境电商独立站,突然所有用户都打不开了——浏览器地址栏里那个原本绿色的小锁头变成了醒目的红色警告,上面写着“您的连接不是私密连接”。
查了一圈才发现,SSL证书过期了。那张证书是两年前在某云厂商买的,一年期的那种,续费的时候没人记得这茬事儿。整个团队忙活了大半夜,到处找证书文件、找私钥、重新上传、重新绑定,折腾到天亮才算搞定。
从那以后我就在想:如果当初选的是谷歌云的托管证书,是不是就不会有这档子事儿了?
这其实不是个例。很多用谷歌云的朋友,对SSL证书这件事儿的态度基本是:能用就行,过期再说。但真等到证书过期那一天,面对浏览器那刺眼的红色警告和满屏的用户投诉,那种焦虑和手忙脚乱,谁经历谁知道。
今天咱们就好好聊聊谷歌云的SSL证书——不是为了把它讲成教科书,而是想让你下次再碰到证书问题的时候,心里能有个底。
二、Google Trust Services:谷歌自家的证书机构
聊谷歌云的SSL证书,得先搞清楚一个概念:Google Trust Services。
很多人以为谷歌云的SSL证书就是谷歌从别家证书机构买的然后转手给你用——还真不是。Google Trust Services是Alphabet旗下的自有证书机构(Certificate Authority,简称CA),2017年谷歌收购了GlobalSign的部分根证书后正式成立。它在2017年拿到了WebTrust认证,2018年根证书被各大主流浏览器内建信任。
换句话说,谷歌自己就是发证书的。它的根证书GTS Root R1、R2、R3、R4已经被Chrome、Firefox、Safari这些浏览器直接内置了。你在谷歌云上申请的SSL证书,信任链一路追溯上去,最终落在谷歌自己的根证书上,不需要依赖第三方CA。
Google Trust Services的证书体系和其他CA一样,是标准的三层架构:根证书(Root CA)是自签名且被浏览器内置信任的;中继证书(Intermediate CA)由根证书签发,实际用来签发终端证书,分担根证书的风险;终端证书(Leaf Certificate)就是安装在你的网站服务器上的那张证书,是用户浏览器实际验证的那张。
浏览器验证你网站证书的时候,会从你的终端证书开始,逐级往上追溯——终端证书→中继证书→根证书。如果整条信任链完整且没被吊销,浏览器才会显示那个让人安心的小绿锁。
这套体系让谷歌云的SSL证书有了一个天然优势:根证书已经被全球主流设备信任,兼容性基本不用操心。
三、谷歌云SSL证书的两条路:托管 vs 自管理
谷歌云上的SSL证书,按照管理方式的不同,可以分成两条大路:Google托管证书和自管理证书。
先说说Google托管证书。这是谷歌云最吸引人的玩法之一。你只需要在控制台里告诉谷歌“我要给这个域名搞张证书”,剩下的事儿——申请、颁发、安装、续期——全部自动完成。托管证书的核心机制是这样的:你创建一个证书资源,指定要保护的域名,谷歌的CA系统会自动验证你对这个域名的控制权(通过DNS验证或者HTTP验证),验证通过后签发证书,然后自动部署到你的负载均衡器上。证书的有效期是90天,但谷歌会在到期前自动帮你续上。需要注意的是,Google托管证书目前只支持域名验证(DV)级别的证书,不支持通配符证书。如果你需要通配符或者组织验证(OV)、扩展验证(EV)级别的证书,就得走自管理的路子。
托管证书适用于负载均衡场景,而且目前是免费的。对于大部分个人项目、初创公司、中小型企业的网站来说,托管证书已经够用了——免费、自动续期、不用操心,还要啥自行车?
再说自管理证书。自管理证书就是你从第三方CA(比如Let's Encrypt、DigiCert、Sectigo这些)买证书,然后自己上传到谷歌云。谷歌不额外收费,你只需要付给CA的钱。自管理证书的好处是灵活:想要通配符证书?可以。想要OV或者EV证书?也可以。想要一年期还是两年期?你说了算。但坏处也很明显——你得自己管。证书快过期了得自己记得续,续完了得重新上传,上传完了还得重新绑定到负载均衡器。一个域名还好说,十个、几十个域名的时候,这事儿就变成一个体力活了。在谷歌云上上传自管理证书,需要把证书文件和私钥都转成PEM格式。如果证书有中间证书链,需要把服务器证书和中间证书链合并成一个文件。然后在负载均衡器的前端配置里选择“上传我的证书”,把PEM内容和私钥贴进去。
说白了,托管证书是“谷歌帮你干活”,自管理证书是“你自己干活”。选哪条路,取决于你愿意花多少精力在证书这件事上。
四、Certificate Manager:证书管理的现代化方案
如果你觉得传统的负载均衡证书管理方式还不够灵活,谷歌云这两年推了一个新东西——Certificate Manager。Certificate Manager可以理解为谷歌云专门为证书管理打造的一个独立服务。它和传统方式的区别,我用自己的话给你捋一捋:传统方式下,证书是绑定在负载均衡器上的。你要给负载均衡器配证书,就得在负载均衡器的配置里创建或上传证书。如果你的多个负载均衡器需要共用同一张证书,你得在每个负载均衡器上都配一遍。Certificate Manager的做法是把证书从负载均衡器里“抽”出来,变成一个独立管理的资源。你可以在Certificate Manager里统一创建、统一管理所有的证书,然后通过“证书映射(Certificate Map)”的方式,把证书和负载均衡器关联起来。一张证书可以同时被多个负载均衡器使用,不用重复配置。
Certificate Manager还支持DNS授权验证——你可以先创建DNS授权记录,证明你对域名的控制权,然后再创建证书,证书可以在负载均衡器还没创建的时候就提前准备好。而且通过DNS授权方式,Certificate Manager支持通配符证书,这是传统托管证书做不到的。
Certificate Manager的定价是分层的:前100张证书免费,101到2000张每张每月0.2美元,超过2000张每张每月0.1美元。对于大部分项目来说,100张以内基本等于白用。
Certificate Manager目前支持Google托管证书和自管理证书两种模式。如果你管理的域名比较多、或者需要通配符证书、或者希望证书管理和负载均衡解耦,Certificate Manager是比传统方式更合适的选择。
五、实战指南:在谷歌云上配置SSL证书的完整流程
聊完了概念和原理,咱们来过一遍实际操作。假设你现在有个域名example.com,想给它配一张谷歌云的SSL证书。
方案一:用Google托管证书(传统负载均衡方式)。这是最省事的方案,适合单域名、不需要通配符的场景。第一步,预留一个全局静态IP地址,负载均衡器需要一个固定的公网IP,这样才能把域名的DNS解析指向这个IP。拿到IP地址后,去你的DNS服务商那里,把example.com解析到这个IP。第二步,创建一个健康检查,健康检查用来告诉负载均衡器后端实例是不是还活着。第三步,创建后端服务和URL映射,把后端实例组和负载均衡器串联起来。第四步,创建Google托管证书,指定域名。谷歌会自动验证你对域名的控制权,验证通过后签发证书并自动部署到负载均衡器上。整个过程不需要你手动上传任何文件。
方案二:用Certificate Manager。如果你希望更灵活一些,或者需要通配符证书,用Certificate Manager是更好的选择。第一步,启用Certificate Manager API。第二步,创建DNS授权,指定你的域名。创建完成后,查看需要添加到DNS的CNAME记录,并把该记录添加到你的DNS服务商那里。第三步,创建证书,指定主域名和通配符域名,并关联之前创建的DNS授权。第四步,创建证书映射,把证书和负载均衡器关联起来。然后在负载均衡器的前端配置里选择使用这个证书映射。
方案三:上传自管理证书。如果你已经有了一张从第三方CA买的证书,想把它用起来,操作是这样的。第一步,确保证书和私钥都是PEM格式。如果证书有中间证书链,把服务器证书和中间证书合并成一个文件。第二步,在谷歌云控制台里打开负载均衡器,进入前端配置。在SSL证书那里选择“创建新证书(上传我的证书)”,把合并后的证书内容粘贴到“证书PEM”框里,把私钥内容粘贴到“私钥PEM”框里。第三步,保存配置,等1到3分钟让配置生效。验证证书是否生效,可以用openssl命令连接你的域名,也可以用SSL Labs的在线检测工具跑一下。
六、选型建议:你到底该选哪种?
说了这么多,你可能有点晕——到底该选哪种?我按场景给你捋一捋。
个人博客、小型官网、学习实验:直接用Google托管证书(负载均衡方式),免费、自动续期、不折腾。
有多个子域名需要保护(比如api.example.com、app.example.com):用Certificate Manager的DNS授权方式创建通配符证书,一张证书搞定所有子域名。
需要OV或EV级别证书(比如电商、金融行业):只能走自管理证书的路子,从第三方CA购买OV/EV证书后上传到谷歌云。
管理大量域名和证书(几十个甚至上百个):Certificate Manager是最合适的方案,集中管理、证书映射复用、统一续期。
应用部署在App Engine或Cloud Run:这两个服务本身就提供免费的SSL证书,不需要额外配置。
还有一个点值得提一下:Google Trust Services的证书默认有效期是90天。短周期证书的好处是,一旦私钥泄露,影响的范围和时间窗口都比较小。但前提是——你得有自动续期机制。如果你选的是自管理证书又忘了续期,那短周期反而成了负担。
说到底,证书管理这件事儿,核心就一句话:能自动化的就别手动。谷歌云给了你托管证书和Certificate Manager这样的自动化工具,能用上就别客气。
关于上海汪远信息科技有限公司
上海汪远信息科技有限公司是国内深耕多年的综合型多云服务合作商,业务覆盖阿里云、腾讯云、华为云、天翼云、火山云、微软云、谷歌云、亚马逊云八大主流公有云平台。公司现有全职员工500人,团队架构完善、服务体系标准化,八大云平台全年综合销量突破20亿人民币,累计服务超100万合作客户。其中单谷歌云年销量达5000万美金,是谷歌云头部一级代理商。公司在香港设有分支机构,专门服务谷歌云、亚马逊云、微软云等国际云平台的代理业务。找上海汪远合作谷歌云,可享8.5折优惠或15%返点。
七、关于谷歌云SSL证书,你可能还想问
问:谷歌云托管SSL证书真的完全免费吗?
答:是的,用于负载均衡的Google托管证书目前不收取额外费用。Certificate Manager有定价,但前100张证书免费。App Engine和Cloud Run的自定义域名SSL也是免费的。
问:Google托管证书支不支持通配符?
答:传统的负载均衡托管证书不支持通配符。但如果你用Certificate Manager的DNS授权方式创建证书,是支持通配符的。
问:证书自动续期是怎么实现的?我需要做什么?
答:Google托管证书会在到期前自动完成续期,你什么都不用做。Certificate Manager的Google托管证书也是自动续期的。自管理证书需要你自己手动续期并重新上传。
问:上传自管理证书到谷歌云,有什么格式要求?
答:证书和私钥都必须是PEM格式。如果有中间证书链,需要把服务器证书和中间证书合并成一个文件。证书链长度不能超过5层。
问:Certificate Manager和传统的负载均衡证书方式有什么区别?
答:传统方式是证书绑定在负载均衡器上,Certificate Manager是把证书抽出来独立管理,通过证书映射和负载均衡器关联。Certificate Manager支持通配符、证书复用、DNS授权预先验证等能力,更适合多域名、多负载均衡器的复杂场景。
问:如果我的网站部署在Compute Engine虚拟机实例上,不用负载均衡,能用Google托管证书吗?
答:Google托管证书目前主要通过负载均衡器或Certificate Manager来部署。如果只是单个虚拟机实例跑Web服务,建议在实例上自己装Let's Encrypt之类的免费证书,或者用负载均衡器把流量接进来再用托管证书。


