我在应用引擎上有一个域名 example.com。所有子域名 a.example.com、b.example.com、c.example.com... 都必须指向 example.com。
我正在从 Google Cloud 的 Cloud DNS 配置所有内容,我的配置如下:
*.example.com. CNAME 300 ghs.googlehosted.com.
example.com. AAAA 300 xxxx:xxxx:xxxx:xx::xx
example.com. AAAA 300 xxxx:xxxx:xxxx:xx::xx
example.com. AAAA 300 xxxx:xxxx:xxxx:xx::xx
example.com. AAAA 300 xxxx:xxxx:xxxx:xx::xx
example.com. A 300 xxx.xxx.xx.xx
example.com. A 300 xxx.xxx.xx.xx
example.com. A 300 xxx.xxx.xx.xx
example.com. A 300 xxx.xxx.xx.xx
已经尝试过做类似的事情
*.example.com. CNAME 300 example.com.
但不起作用。
如果我使用 DIG 检查我的 DNS,我会得到正确的答案
;; ANSWER SECTION:
a.example.com. 300 IN CNAME ghs.googlehosted.com.
ghs.googlehosted.com. 218 IN A xxx.xxx.xxx.xxx
当我从浏览器访问 a.example.com 时,出现 ERR_CONNECTION_CLOSED 错误
答案1
正如@John Hanley 提到的,Google Managed SSL 证书不支持通配符 (*.example.com)。
我刚刚用 Letsencrypt 创建了一个新证书,通配符似乎可以正常工作。
答案2
如果您使用的是 Google 托管 SSL 证书,则不支持通配符。您可以使用通配符映射任意级别的子域,从第三级子域开始。
请参阅以下链接:
映射自定义域: https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains#wildcards
使用 SSL 保护自定义域: https://cloud.google.com/appengine/docs/flexible/python/securing-custom-domains-with-ssl