如何在我自己的裸域(而非子域)中使用Google App Engine?


233

经过数小时的关于DNS记录的阅读和试​​验,我可以通过以下URL访问我的Google App Engine应用程序:

  • myappid.appspot.com
  • www.myappid.myowndomain.com

什么不起作用:

  • myowndomain.com
  • www.myowndomain.com

我希望能够直接在我的域而不是子域之外提供我的应用程序。我见过执行此操作的应用程序。没有URL重定向,有没有办法做到这一点?

Answers:


258

[2016年4月更新]该答案现已过时,支持自定义裸域映射,请参阅莫文蔚的答案

我知道了!

首先,不可能将类似的东西mydomain.com与您的appspot应用程序链接。这被视为裸域,Google App Engine不再支持该域。严格来说,我的问题的答案必须是“不可能的”。继续阅读...

您所能做的就是添加指向您应用程序的子域,例如myappid.mydomain.com。将顶级域名链接到您的应用的关键是要意识到这www是一个与其他域名一样的子域名!

myappid.mydomain.com被视为与www.mydomain.com!完全一样!

步骤如下:

  1. 转到appengine.google.com,打开您的应用
  2. 管理>版本>添加域...(您的域必须链接到您的Google Apps帐户,请按照以下步骤进行操作,包括域验证。)
  3. 前往www.google.com/a/yourdomain.com
  4. 信息中心>您的应用程序应在此处列出。点击它。
  5. myappid设置页面>网址>添加新网址
  6. 只需输入www并单击添加
  7. 使用您的域名托管服务提供商的网络界面,www为您的域添加一个CNAME 并指向ghs.googlehosted.com

现在,您已www.mydomain.com链接到您的应用程序。

我希望这在文档中会更加明显...祝您好运!


12
嘿,我不好-我以为您知道 www是其他任何子域,但应该考虑清楚
Alex Martelli

21
要使裸露的mydomain.com正常工作,只需将其重定向到www子域。
史蒂夫·兰迪

21
只需简单地设置自定义域就可以设置Google Apps,这几乎是直觉的,而且几乎是毫无根据的。这就像强迫一个人使用火箭发射器拍打蚊子一样。
HRJ

4
Google似乎已更新了文档。cname值应为ghs.googlehosted.com
Krishnaraj

4
请参阅下面的Laurence Mok的答案:现在可以直接从开发人员控制台中进行操作。
crb 2014年

55

[update 2015-09-28]现在,Google允许您添加自定义域(包括裸域)并设置SSL,而无需Google Apps。有关详细信息,请参见此处:https : //cloud.google.com/appengine/docs/using-custom-domains-and-ssl?hl=zh-CN

我今天刚刚发现(从2014-04-11开始),Google Developers Console提供了一个新的自定义域设置页面:

1.转到https://console.developers.google.com/project 2.单击您的项目3.在左侧单击“ App Engine” 4.单击“设置”

你去!您无需Google App帐户即可配置自定义域!


在第3步中,显示为XXX.com域创建下面列出的资源记录,这是什么意思?
Kunal Balani 2014年

@KunalBalani这意味着您需要编辑您的域的DNS记录(请与您注册域的位置进行说明)
Lawrence Mok 2014年

3
请注意,此方法不支持SSL,这很糟糕。我仍在寻找解决方法。
capitalf

2
@capitalf Google表示“即将推出”,并且像往常一样没有ETA。我也曾尝试过寻找工作,但没有。我现在可以得到的最接近的东西是https在www上工作,http在www上工作。并裸露(将其重定向到https www)
莫文蔚

2
请注意,这是截至2014年4月的正确答案。该日期之前的答案是指更好地支持自定义域之前的变通方法。SSL仍将很快推出。
戴夫

41

[2016年4月更新]该答案现已过时,支持自定义裸域映射,请参阅莫文蔚的答案

有关详细信息,请参见http://www.google.com/support/a/bin/answer.py?hl=zh_CN&answer=91077。注册您的域的Google Apps后,请执行以下操作:

# Sign in to the Google App Engine admin console.
# Go to Administration > Versions
# Click the 'Add Domain...' button under Domain Setup.
# Enter your domain name in the 'Domain Name:' field
# Click 'Add Domain'. You will be directed to the Google Apps administrator console to complete the process.
# Log in to the Google Apps control panel with your administrator account.
# Accept the terms and specify the access URL you'd like to provide for your application.
# Click 'Accept

不过,您不能使用域,例如what.com(但www.whatever.com 确实可以使用),因为:

由于最近的更改,Google App Engine不再支持将您的应用程序映射到裸域。如果您的域名注册商支持URL重定向,则可以从http://yourdomain.com重定向到您的应用,该应用可以从http://www.yourdomain.comhttp://appid.yourdomain.com之类的域提供。

http://www.google.com/support/a/bin/answer.py?answer=91080中所指定


感谢您的快速答复。我已经做完了所有事情,然后将域添加到我的Google Apps帐户中。现在,我的应用已列为服务。主域设置为mydomain.com,我的应用列出了子域(www.myappid.mydomain.com)。我肯定错过了什么。添加子域可以立即生效,因此我怀疑这是一些更新/ DNS /设置问题...当我访问www.mydomain.com时,出现“找不到服务器”。
标记

我想我也有同样的问题...添加“ www”。表示Google App Engine网址没有响应。现在,wehearttoronto.com正在定向至Google网站...
TimLeung

1
从问题777(已解决)开始,Appengine现在再次支持Naked Domans,而且不必首先为域设置GoogleApps。关于最后一条评论,有非常简短的说明。但是,该过程基本上与Alex的原始帖子中所述。 code.google.com/p/googleappengine/issues/detail?id=777
布莱恩·加勒特

18

如果像我一样,您在尝试将“ www”添加为子域以使自己的域正常工作时已经看到此消息:

'已使用,请先删除以前的映射。'

如果您在自己的域中使用Google Apps,则其他答案中提到的上述过程会稍有变化。

您现在还必须这样做:

Google Apps->服务设置->网站。单击“网址映射”,然后删除默认情况下已添加到“站点”的“ www”映射。

然后,您可以为App Engine应用添加“ www”子域

看到这个链接:

http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps



8

Google确实提供裸域重定向。

  • 登录到您的Google Apps帐户,然后选择“管理此域”
  • 导航到域设置
  • 在“域名设置”中,导航到“域名”
  • 有一个链接显示“更改A记录”。单击将为您提供您需要创建的A记录的目标IP。

5

Google没有提供IP给我们设置A记录。如果可以的话,我们可以使用裸域。

还有另一种选择,通过将A记录设置为外部Web服务器的IP,该服务器可以将http从例如domain.com重定向到www.domain.com(签出GiDNS


4

我知道所有这些步骤,实际上以下是简短而绝妙的方法。

1-转到appengine.google.com,打开您的应用

2-管理>版本>添加域...(您的域必须链接到您的Google Apps帐户,请按照以下步骤进行操作,包括域验证。)

3-前往www.google.com/a/yourdomain.com

4-信息中心>您的应用程序应在此处列出。点击它。

5-myappid设置页面>网址>添加新URL

6-只需输入www并单击“添加”

7-使用您的域名托管服务提供商的网络界面,为您的域名添加www的CNAME,并指向ghs.googlehosted.com

8-现在,您已经将www.mydomain.com链接到您的应用程序。

  • 如果您想要裸域,即mydomain.com,请使用您的DNS管理员(不在Google Apps中)使用重定向并将其指向www.mydomain.com。

现在,我已经完成了所有操作,现在可以使用自定义域成功进入我的appengine应用。例如http://cic.mxhttp://www.cic.mx都将我带到我的应用程序。但是URL更改为-myappid-.appspot.com,我不希望发生这种情况!

有人解决了这个问题吗?

我在appengine上使用php应用程序,并带有wordpress实例。


2

对于2019年的App Engine,Google使设置自定义域变得更加容易。

  1. Google App Engine->设置->自定义域

  2. 验证您的网域

  3. 选择您的域名注册机构

提醒:将TXT记录与Google提供的值一起使用,而不使用现有的CNAME记录,否则TXT记录将被覆盖

  1. 按照页面上的步骤进行操作,其中包括您的子域,CNAME记录,A记录,AAAA记录的配置,您将一路顺风。

1

几个小时后才设法将其排序。www子域名指向的是Sites,但前端并未向我显示。

投入大量精力并将CNAME设置为gwh.google.com,并多次启用/禁用网站后(请参阅Rodrigo Moraes在http://groups.google.com/group/google-appengine/web/上的评论从Google应用中删除现有的www-mapping-from),我能够将“网站”地址设置为使用www子域。

然后,我可以更改它,而不再使用www子域,此时appengine应用程序允许我指定www子域。

那是一个肮脏的解决方法-基本上可以打开和关闭站点,直到它起作用为止!


1

当您转到“应用程序设置->添加域”时,它会要求选择登录帐户,可能您已经在gmail帐户上,因此它也会显示gmail帐户,但是您应该使用已映射自定义域的Google Apps帐户



0

这是Google提供的有关在自定义域上映射您的应用程序的教程:https : //cloud.google.com/appengine/docs/domain?hl=FR

它应该是最新更新。但是请注意以下两点:

1-您可能无法在新的开发人员控制台中找到您的应用程序,那么唯一的解决方法是下载源代码,从新的开发人员控制台创建一个新应用程序并进行部署。

2-您可以在开发人员控制台上找到您的App,但是在Compute菜单下可能找不到本教程中提到的App Engine设置,那么您必须按照我在第一点中说明的步骤进行操作(创建另一个应用程序)

我希望这有帮助 !


-3

您必须尝试这样,Application Settings > Add Domain...


欢迎来到SO。这是答案吗?您能详细说明吗?
Tony Rad
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.