Google托管SSL证书状态持续为FAILED_NOT_VISIBLE求助
解决Google Managed SSL证书FAILED_NOT_VISIBLE问题(GCS静态站+Cloud DNS场景)
针对你遇到的FAILED_NOT_VISIBLE状态,核心原因是ACME证书颁发机构无法通过DNS验证域名所有权,以下是针对性排查和修复步骤:
1. 检查Managed SSL证书的域名配置
确保Terraform中google_managed_ssl_certificate资源的domains列表同时包含主域名和www子域名,无拼写错误:
resource "google_managed_ssl_certificate" "site_cert" { name = "kade-bc-cert" project = var.project_id description = "SSL cert for kade-bc.com" managed { domains = [ "kade-bc.com", "www.kade-bc.com" ] } }
2. 验证ACME DNS验证记录的存在性
Google Managed SSL证书默认会自动尝试添加_acme-challenge开头的TXT记录到Cloud DNS,你需要:
- 登录Cloud DNS控制台,查看域名区域内是否存在
_acme-challenge.kade-bc.com和_acme-challenge.www.kade-bc.com的TXT记录,记录值需与证书详情中的验证值一致。 - 如果Terraform未自动管理这些记录,需手动添加或用
google_dns_record_set配置:
resource "google_dns_record_set" "acme_root" { name = "_acme-challenge.kade-bc.com." type = "TXT" ttl = 300 managed_zone = google_dns_managed_zone.site_zone.name rrdatas = ["<证书详情中的根域验证值>"] } resource "google_dns_record_set" "acme_www" { name = "_acme-challenge.www.kade-bc.com." type = "TXT" ttl = 300 managed_zone = google_dns_managed_zone.site_zone.name rrdatas = ["<证书详情中的www域验证值>"] }
注意:HTTP访问正常仅说明A/AAAA记录正确,但SSL验证依赖独立的TXT记录,和A记录无关。
3. 确认域名NS记录指向Cloud DNS
登录Cloud Domains控制台,检查kade-bc.com的名称服务器(NS)记录,必须完全匹配Cloud DNS托管区域的NS记录。可在本地执行dig ns kade-bc.com验证,若输出的NS记录不匹配,证书验证会失败。
4. 检查负载均衡器与证书的关联
确保google_compute_target_https_proxy正确关联了Managed SSL证书,且URL映射指向GCS后端:
resource "google_compute_target_https_proxy" "site_proxy" { name = "kade-bc-https-proxy" ssl_certificates = [google_managed_ssl_certificate.site_cert.self_link] url_map = google_compute_url_map.site_url_map.self_link }
5. 重新触发证书验证
若以上配置均正确,可通过以下方式强制重新验证:
- Terraform执行
terraform apply(无配置变更也会触发资源刷新); - 登录Cloud控制台,进入负载均衡的证书页面,点击对应证书的"重新验证"按钮。
内容的提问来源于stack exchange,提问作者kade
相关产品推荐
相关产品推荐

