我一直在使用谷歌应用引擎几天,我有一个我想写和部署的业余爱好应用程序。
但是我想设置它,以便用户不通过appspot.com直接访问该应用。
是通过Google Apps托管它,然后指向我自己的域唯一的方法吗?我看了一下,看起来很难实现,但也许我只是错过了一些东西。
我的另一个想法是将应用程序引擎编写为更通用的Web服务。
然后我可以将面向用户的作品托管在任何地方,用任何语言编写,并让它查询appspot.com网址。
任何人都对网络服务方法有好运吗?
答案 0 :(得分:8)
需要Google Apps的原因是因为您需要某处a)验证您拥有该域名(否则,您可能会将其指向应用引擎,然后我可能会通过将其添加到我的帐户来劫持它)和b)设置域映射(子域指向您的appengine应用程序)。
由于这些东西已经存在于Apps中,因此在AppEngine中复制它似乎很愚蠢。
正如已经指出的那样,它不需要任何费用,而且你不需要向Google移动任何东西。您可以使用随机名称创建一个cname记录,以验证您拥有该域,以及您希望指向App Engine的子域的cname。这只需要几分钟,一旦完成,它就会永远完成。
注意:如果您在其他地方托管您的网站并使用网络服务,则需要扩展网站/前端。如果你在app引擎上托管,你可以免费获得: - )
我在我的博客上写了一篇文章,将* .appspot.com域名重定向到您的自定义域名,以保留您的品牌:
http://blog.dantup.com/2009/12/redirecting-requests-from-appid-appspot-com-to-a-custom-domain
答案 1 :(得分:7)
为此,我相信您需要使用Google Apps并为Google Apps设置自定义域名。然后,您deploy your app进入您的Google Apps域。
答案 2 :(得分:4)
以下是google关于如何执行此操作的官方说明:
http://code.google.com/appengine/docs/domain.html
我已经将这个过程用于了几个网站,只要您可以控制域名的DNS记录,就可以轻松轻松地进行操作。(/ p>
答案 3 :(得分:1)
可以使用request.getRequestURI()
方法轻松完成。如果网址不包含您的域名,只需使用
resp.sendRedirect("<your domain>")
否则使用
加载错误页面request.getRequestDispatcher("<error-page>").forward(request, response);
答案 4 :(得分:1)
好的,我们现在是2017年底,关于App Engine和自定义域的情况有很多不同。现在很容易!
转到应用的应用引擎信息中心,然后选择“设置”,然后转到“自定义域”标签。从那里,选择Add custom domain
。
棘手的部分是Google需要验证您是否控制了域名,因此他们会要求您在域名的DNS中放置TXT记录。一旦你这样做并谷歌它,你就会被“核实”为该域名的所有者。
之后,Google将为您提供一堆A和AAAA(IP6)记录,以便放入您的DNS。一旦你做完了,你应该好好去。