Google App Engine SSL错误“无法找到DNS记录”,即使自定义域正在工作

eqqqjvef  于 12个月前  发布在  Go
关注(0)|答案(7)|浏览(193)

我将一个新的自定义域指向了一个Google App Engine Standard Environment项目,并按照Google的指示编辑了DNS记录,它似乎被正确地重定向了。现在我的印象是,App Engine项目的SSL证书现在可以由Let's Encrypt自动提供,而不一定需要由用户单独提供:https://cloud.google.com/appengine/docs/standard/go/securing-custom-domains-with-ssl
然而,我在从Google获取SSL安全服务时遇到问题。App Engine控制台中的错误消息是:无法找到DNS记录。证书激活将自动重试。
此错误消息如下所示:
x1c 0d1x的数据
如果我输入gcloud beta app domain-mappings list,我会得到这样的东西:

ID                    SSL_CERTIFICATE_ID  SSL_MANAGEMENT_TYPE  PENDING_AUTO_CERT
mydomain.com                              AUTOMATIC            1256789
www.mydomain.com      1234567             AUTOMATIC

字符串
我还尝试了“禁用托管安全”并通过“启用托管安全”将其重新打开,几分钟后得到相同的结果:“www.mydomain.com的托管证书已激活。”显示,但不是mydomain.com。
如果我用它的激活证书访问www.mydomain.com,我仍然会在浏览器中看到“连接不安全”。如果我访问“mydomain.com”,它会被重定向到 www.mydomain.com,结果也是一样。
有什么想法吗?
更新:我刚刚尝试使用Certbot获取我自己的密钥并将其上传到GAE。GAE显示了mydomain.com和www.mydomain.com的证书ID。然而,我必须在浏览器中手动输入“https”才能进入安全页面。我发现我必须在app.yaml中添加“secure:always”,然后域才会默认加载安全版本。我仍然不知道为什么Google的默认托管安全选项对我不起作用;这比每3个月获取和上传我自己的脚本要方便得多。

zi8p0yeb

zi8p0yeb1#

对任何还在坚持这一点的人来说都是可以的:
1.转到https://console.cloud.google.com/appengine/
1.选择设置
1.添加自定义域。选择您的域名。(如果您在此之前尚未验证您的帐户,请先进行验证)
1.选择要添加的域
1.您将得到一个需要在您的主机帐户中创建的东西的列表,如下所示:x1c 0d1x
1.如果您在GoDaddy中购买了域名,那么您必须进入您的Godaddy帐户-> YourDomain.com-> DNS ->管理区域。然后在那里输入:

1.请返回到“应用程序引擎”并单击“验证”。
1.好好享受吧!

2exbekwf

2exbekwf2#

  • 转到“应用程序引擎”->“设置”->“自定义域”
  • 点击“添加自定义域”
  • 选择您想要的域名
  • 您最终会得到类似的东西,最初将您带到这个解决方案:

App Engine Settings With Domain Name SSL Certificate Not Working

  • 转到您的域名注册商(假设您是通过Google购买的域名)https://domains.google.com/m/registrar/
  • 请选择您要访问的域名
  • 转到底部的“DNS”->“自定义资源记录”
  • 使用适当匹配的IPv4/IPv6地址填写信息:

Custom Resource Records Where You'll Copy Over Info From App Engine

**注意:这是通过谷歌的注册商购买的域名。如果你在其他地方买了你的,那么步骤可能会有所不同。

x6492ojm

x6492ojm3#

我最近在GoDaddy上也遇到了同样的问题,但对我来说,除了dangalg的回答,我还必须删除GoDaddy中的Parked DNS记录才能解决这个问题。

ccrfmcuu

ccrfmcuu4#

Igor Kromin's article概述了我遇到的完全相同的问题。
我也在使用CloudFlare的免费解决方案。由于某种原因,Google App Engine没有立即识别TXT记录,所以我继续进行了基于CNAME的替代Map。显然,当你这样做时,Cloudflare CNAME扁平化启动,并且 * 将 * 对记录做一些事情。当我们尝试验证域所有权时,它可以工作。但后来,当APP引擎的谷歌管理的自动续订代理查看记录时,不知何故,它们 * 不 * 匹配!
解决方案是简单地继续尝试验证Cloudflare没有修改的TXT记录,然后它就可以工作了。

提示:如果您尝试向api.yourdomain.com等应用引擎验证子域,则您的TXT记录需要使用api域名,而不是像正常情况下使用@

qaxu7uf2

qaxu7uf25#

遇到了同样的问题。我采取的步骤包括@Rajasegar的步骤:
1.已从GoDaddy DNS控制台中删除已停放的DNS记录。
1.通过运行下面的命令,确保您已登录到正确的项目。

gcloud config list

字符串

  • 检查输出:
[core] 
  account = [[email protected]]
  disable_usage_reporting = True  
  project = [your-project]


1.从终端运行domain-mappings update命令,更新mydomain上的证书,并将cert-management设置为“。

gcloud app domain-mappings update 'mydomain.com' --certificate-management=AUTOMATIC


花了几秒钟,我看到更新证书的裸域在自定义域属性。

gwbalxhn

gwbalxhn6#

在我的情况下,我不小心创建了一个C记录的裸域(@)除了www.子域应该专门拥有它。因为不能有一个TXT记录在同一级别的C记录,验证失败。完全是我的错,但也许其他人也有这样的问题。

n3h0vuf2

n3h0vuf27#

我的问题是,谷歌没有为我的裸域生成证书,但为我的www域生成了一个。它会给予相同的错误:找不到DNS记录。我几年前就配置了域名,但是它开始无法更新裸域的证书,没有任何解释。仅仅删除证书并重新启用没有帮助。最终让它工作的是从自定义域列表中删除裸域,然后重新读取

相关问题