【问题标题】:Does GAE support me having unlimited subdomains?GAE 是否支持我拥有无限的子域?
【发布时间】:2016-03-17 03:40:57
【问题描述】:

如果我想在 google app engine (python) 上运行我的服务,他们是否都可以轻松无限制地创建自己的自定义子域?

例如,我的服务将在我的自定义域上运行:

www.example.com

我将为每个客户创建自己的自定义域,例如:

customer1.example.com

我可能有 1000 多个客户,因此这必须使用 API 调用轻松完成,或者他们允许使用通配符。

我的应用程序将分析子域并查找客户。

这将是一个处理所有子域的应用程序。

【问题讨论】:

  • 如果您要分析子域,那么与 gae 自定义域无关,对吧?您需要将所有子域都指向一个可以解析的服务,但您必须自己实现它
  • 您可能对我写给另一个问题的答案感兴趣:stackoverflow.com/questions/35840752。简单地说,正如 Igor 所说:您必须通过开发者控制台向 Google 提供自定义域,您无法自己处理域。

标签: google-app-engine


【解决方案1】:

当然,在您的 DNS 面板中让您的域的通配符 (*) CNAME 记录(即*.example.com)指向ghs.googlehosted.com,并且对您主域的任何子域的所有请求都将转到您的应用程序(并确保这也反映在GAE's Custom Domains Settings Page 上,如下面的屏幕截图所示):

然后将您的第一个 webapp2 路由设置为类似于:

    # match all subdomains BUT www
    DomainRoute(r'<:(?!www\.)[^.]+>.example.com', [
        Route('/', handler=CustomSubDomainHandler)
    ])

它将匹配除www 之外的任何子域的请求(因为您可能希望通过该子域为您的实际应用程序提供服务)。

您的CustomSubDomainHandler 可能看起来类似于:

class CustomSubDomainHandler(webapp2.RequestHandler):
    def get(self):
        subdomain = self.request.host.split('.')[0]
        # code to look up the customer by analyzing the `subdomain` goes here...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    相关资源
    最近更新 更多