我看过类似的问题,例如这和这,但答案似乎集中在如何设置虚拟主机上。我不是这方面的专家,但我更担心的是设置完成后该做什么。这是我的示例:
假设我是服务 foo 的 SaaS 提供商。我的主机在 fooservice.com。对于每个用户,他们都有自己的子域名 bob.fooservice.com。我很确定我可以涵盖这一部分。有很多相关文档。我们还假设 Bob 希望该服务显示为他的网站 awesomebob.com 的子域名。他希望它是 foo.awesomebob.com。我知道 Bob 要做的是从 foo.awesomebob.com -> bob.fooservice.com 添加 CNAME 记录。我的问题是我必须做什么才能确保我的 fooservice 服务器上的所有功能都正常。
- 我是否需要做些什么特殊的事情来确保地址栏保持为 foo.awesomebob.com?
- 我如何确保只有 CNAME foo.awesomebob.com 能够进行域映射?在 shopify 和 wordpress 等网站上,它们会让您通过管理面板输入用于映射的域。这背后发生了什么?
- 据我研究,使用单个 IP 地址实现此操作并仍支持 SSL 是不可能的。对吗?
答案1
- 不会,只要您不重定向用户,用户在地址栏中输入的任何内容都会保留在那里。使用自动生成的链接(假设域名)很容易犯这样的错误(例如,您的 CMS 可能总是在链接中使用完整的 URL,而不是相对 URL);这可以纠正,但必须注意。
- 假设您使用共享 IP(因为每个站点的专用 IP 都存在很多问题),您需要为要使用的任何域名添加映射。如果 Bob 在没有告知您的情况下设置了 bob.awesomebob.com,它将无法工作。
如果您使用专用 IP,那么用户可以添加他们想要的任何 CNAME,它们都可以工作。您可以向您的 Web 服务器添加筛选以阻止此行为。 - 您可以使用 UCC 证书来实现这一点,证书上可以有多个完全不同的域名。添加的域名越多,费用就越高,而且从证书中添加/删除域名也有点困难。
如果您只允许主域的子域使用 SSL(bob.fooexample.com 可以,bob.awesomebob.com 不行),那么您可以对域 *.fooexample.com 使用通配符证书。这不会花费太多,而且添加新子域时无需更新它。无论哪种情况,证书都不能是 EV 证书(没有绿色地址栏)。