【问题标题】:How to forward domain requests to gae url如何将域请求转发到 gae url
【发布时间】:2014-11-07 15:30:16
【问题描述】:

我有不同的客户,他们在我的 gae 应用上拥有各自托管的 saas 页面。例如:

  • myapp.appspot.com/customer/123
  • myapp.appspot.com/customer/456

每个客户可能希望将他的域名(例如 theBigDomain.com)“隐形”转发到 myapp.appspot.com/customer/123

请注意我希望theBigDomain.com/myservlet?id=theId#aBookmarkUrlmyapp.appspot.com/customer/123/myservlet?id=theId#aBookmarkUrl 的形式传输到目标网址

我搜索了谷歌文档,但找不到方法。

注意:我不希望输入theBigDomain.com 的人发现他不再存在的重定向,并且我不希望框架将我的网址包含在theBigDomain.com 中,因为我希望用户成为able to click on the back button.

简而言之,我希望域作为代理工作,据我所知,代理不适合某些内容,例如,如果我的目标链接有 youtube 视频,这可能不起作用。所以我在问是否有办法为 url 而不是域做 dns 重定向???

使用子域也是有限的:为每个客户创建一个子域将是一项繁琐的工作......

【问题讨论】:

    标签: google-app-engine dns forward


    【解决方案1】:

    使用子域也是有限的:为每个客户创建一个子域将是一项繁琐的工作......

    怎么会?这实际上对您/您的客户来说会容易得多,因为您的客户不必处理域验证/DNS 设置,您需要做的就是向您的主域添加一个 *(通配符)主机指向ghs.googlehosted.com 并在您的 GAE 应用程序设置中添加 *.yourdomain.com。在您的应用程序中,在您选择的框架中,您将看到请求到达的子域并将其作为客户的唯一 ID(而不是 123/456)处理。 See here how you would determine the subdomain on python/webapp2。如果您使用不同的语言/框架组合 - 也有替代功能。

    如果您仍然希望客户使用他们自己的域,那么它会变得有点复杂。首先,他们需要向您提供完整的域名,然后您将其添加到您的 GAE 应用程序的设置中。接下来,您和您的客户需要遵循此页面上列出的验证步骤之一:https://support.google.com/a/answer/60216?hl=en,一旦完成,您需要要求您的客户在其域/子域上创建指向 ghs.googlehosted.com 的 CNAME 记录。创建 CNAME 记录后,您将像处理这些是您自己域中的子域一样处理此问题,即在您的框架中确定请求到达的域并将其作为客户的唯一 ID 处理以服务该客户的应用程序。

    【讨论】:

    • 嗨 Mihail,谢谢你让我意识到 gae 默认处理所有子域,如此处所述(我不知道,不知何故我在阅读时跳过了它:-))cloud.google.com/appengine/docs/domain 当然我'正在使用 java 服务器,获取请求 url 非常简单。对于 DNS 设置没关系,我可以为他们获取客户域并进行设置。所以谢谢你让我意识到:-)。一切都在那里,我只是用一种犹豫的眼睛看着它:-D(这不是我的专长)最好的问候
    猜你喜欢
    • 1970-01-01
    • 2013-11-08
    • 2010-09-27
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2021-03-19
    • 1970-01-01
    相关资源
    最近更新 更多