【问题标题】:Handling dynamic subdomains in Google App Engine (Java)在 Google App Engine (Java) 中处理动态子域
【发布时间】:2012-07-03 23:03:27
【问题描述】:

假设我有一个 www.foo.com 域,该域设置为在 foo.appspot.com

上加载我的应用

如何设置以便可以使用任何子域(例如 user.foo.com)访问该站点?然后我如何在我的应用程序中了解该请求具有一个值为 user 的子域?

我只是不确定我需要在我的 DNS 中进行哪些修改,以及我需要在我的代码中进行哪些修改才能读取子域。

也许有一种更简单的方法,所有 user.foo.com 请求都实际加载(而不是重定向)foo.appspot.com/user,在这种情况下它会在我的代码中处理起来非常简单。

我只是不确定如何进行这些修改 - 但基本上我想要实现的是我的每个用户都有自己的子域。

【问题讨论】:

    标签: java google-app-engine dns subdomain


    【解决方案1】:

    您需要查找通配符 CNAME,App Engine docs 中有一些关于此的信息,但如果我没记错的话,并非所有 DNS 提供商都支持。

    您也不能(没有重定向)将 {user}.domain.com 映射到 www.domain.com/{user}。

    【讨论】:

    • 好的,谢谢。我只是这样做了,它有效。关于第二个问题,我如何在我的应用程序中处理它?只需解析请求对象并查看它是否包含子域?或者在 Java 中有更标准的方法吗?
    • 在python中,webapp2具有基于子域的路由能力,但对您没有帮助。如果我不得不猜测,我会说您需要解析请求,但也许有更好/其他方式。
    • 是的,我最终使用本机 servlet api 来获取服务器名称,然后对其进行解析以获取子域部分:request.getServerName().split("\\.")[0]
    猜你喜欢
    • 2012-10-25
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多