【问题标题】:How to allow clients to set up custom domains for their own pages on a service website?如何允许客户在服务网站上为自己的页面设置自定义域?
【发布时间】:2020-09-22 03:02:04
【问题描述】:

我想实现Intercom 提供给他们的客户的相同功能;它们允许实现Custom Domains for Articles。我不太清楚他们是如何实施他们的方法的,或者他们在幕后做了什么。

以下面的场景为例;一个客户(NorthWind 公司),在我公司的网站 (northwind.example.com) 上有一个子域。

会发生以下情况:

  • 如果用户输入northwind.example.com,他们会转到northwind.example.comnorthwind.example.com 会出现在网址栏中。
  • 如果用户输入example.northwind.com,他们会转到northwind.example.comexample.northwind.com 会出现在网址栏中。

Intercom 实现它的方式与我希望实现它的方式之间的区别在于,我使用的是 子域,而不是目录,如上面链接的 Intercom 帮助文章中所示。


考虑到我的网站在 Nginx、NodeJS 和 MongoDB 上运行,这是我目前的想法:

  • 客户在其域名提供商上注册了一条 CName 记录,以指向他们在我网站上的页面。
  • 客户向我的网站提供他们使用的 CName 记录(通过表单注册)。
  • 我在 MongoDB 中保存了公司及其自定义域的记录。
  • 我注册或重新注册我网站的反向代理,使用redbird 允许重定向通过。

我已经研究过Redirect Web Page to Another Site Without Changing URLDoes a Cname Change the URL that the Browser Displays

我是在正确的道路上,还是有更好的方法?

【问题讨论】:

  • 你的具体问题是什么?
  • 我想知道为我的客户提供使用自定义域的能力;我想知道 Intercom 是如何做到的(或任何类似的),或者如何使用我的技术(Node、Mongo 和 Nginx)来实现它。
  • 抱歉,这一切都过于模糊和宽泛,这里的问答风格无法回答。要了解“对讲机”是如何运作的,您必须询问他们并自己实施这样的事情:我会说去,开始并一步一步地采取。然后,如果您遇到自己无法解决的问题,那么是时候来到这里,发布到目前为止的解决方案并提出具体问题。

标签: node.js .htaccess redirect reverse-proxy cname


【解决方案1】:

我决定通过他们的支持渠道向 Intercom 本人寻求答案,我得到了以下答复:

这实际上并不是我们做任何特别的事情,这与我们和客户端的 Web 服务器的配置有关。

此 stackoverflow 对此进行了详细介绍,但请记住,虽然它是一个 ruby​​ StackOverflow - 它专注于设置的 Web 服务器,在本例中为 nginx - 但它可以是任何 Web 服务器软件。

How to preserve request url with nginx proxy_pass

这将允许您的服务接收请求,但也可以访问原始服务器地址 - 然后我们要求我们的客户提供他们在文章设置中使用的自定义域,以帮助我们将服务器地址转换为正确的帮助中心。

我确实希望这会有所帮助,如果您确实有任何后续问题,我很乐意尝试提供帮助,但正如您所提到的,这确实超出了我们团队的范围,因此我可以提供的帮助可能有限。

对我的反应非常满意,因为他们超越了我。基本上,我走的路是正确的。我决定留下这个问题来帮助别人。我还发现了以下相关问题:

祝找到这个的人好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-13
    • 2015-08-21
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多