我正在开发一项服务,该服务将为每个客户提供一个子域。到目前为止,我已将 Google Domains 上的 DNS 规则设置为
* | CNAME | 3600 | ghs.googlehosted.com.
然后我在 Cloud Run 控制台中为每个子域添加映射。每次新用户注册时,我都想以编程方式完成所有这些操作。
DNS 规则将自动处理任何新的子域,并将其映射到服务,我将使用 gcloud 命令:
gcloud beta run domain-mappings create --service frontend --domain sub.domain.com
现在,我如何检查 Cloud Run 配置何时完成,以便通知客户平台已准备好使用?我可以每分钟 CRON 命令gcloud beta run domain-mappings describe --domain sub.domain.com
,解析 JSON 输出并检查状态是否已完成。它很昂贵,但它应该可以工作。问题是,即使 gcloud cli 或 Web 控制台将配置标记为已完成,该平台在另外 5-10 分钟内仍无法访问,从而导致ERR_CONNECTION_REFUSED
错误。服务日志显示正在向子域发出请求,但不知何故它不会为它服务。