【问题标题】:wildcard domain redirect in app.yamlapp.yaml 中的通配符域重定向
【发布时间】:2014-11-13 11:08:20
【问题描述】:

我已经将我的 DNS 设置为将所有子域指向 @,我可以看出这正在工作,因为我现在收到一个 appengine 错误,即在服务器上找不到 URL。

如何设置我的 app.yaml 文件以捕获自定义域的所有子域并将其指向同一个静态文件? 谢谢!

示例:

http://learnnow.us (作品)

http://something.learnnow.us (没有)

DNS Entry

name  |  type   |   data
*     |  CNAME  |   @


app.yaml

- url: /
  static_files: index.html
  upload: index\.html

- url: *
  static_files: index.html
  upload: index\.html

【问题讨论】:

标签: google-app-engine app.yaml


【解决方案1】:

由于您拥有 Google Apps 帐户,要将所有子域映射到您的应用程序,您需要在 learnnow.us 的管理控制台的 App Engine 应用程序部分添加您的应用程序。然后添加一个映射 *.learnnow.us 并为 * 指向 ghs.googlehosted.com 创建一个 CNAME 记录。

也可以通过 Developers Console -> Your_App -> Compute -> App Engine -> 设置 -> 自定义域(虽然没有测试)。

【讨论】:

  • 我将 cname 切换为 ghs.googlehosted.com... 但同样的错误。 (例如,如果您访问 someting.learnnow.us,您将看到 appengine 404 错误,而不是默认浏览器 404 错误。如果您访问 b.site4u2.com,您将看到默认浏览器错误。)我相信是app.yaml的配置有错误...
  • 但是您是否在 Google Apps 管理控制台中为您的应用添加了映射 *.g.learnnow.us?
【解决方案2】:

子域映射在 DNS 级别完成。通过您注册的 DNS 服务提供商进行配置。将所有子域映射到您的主域。

路由映射在 app.yaml 中完成。一旦请求到达您的应用,app.yaml 中带有url: /.* 的路由配置会将所有路由映射到该处理程序。

鉴于您对 DNS 映射与 app.yaml 路由配置的混淆应该被清除,请接受此答案为有效。如果您在做更复杂的事情时遇到其他问题,就像从您的 cmets 看到的那样,请创建一个新问题。对您的问题进行的编辑应该只包含与原始问题更相关的信息,并且 cmets 不应引入新问题。

【讨论】:

    猜你喜欢
    • 2020-09-27
    • 1970-01-01
    • 2018-08-14
    • 2012-10-13
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    相关资源
    最近更新 更多