注意:我是营销策略顾问,而不是技术顾问,因此:
我有一个客户,我们正在使用第三方云托管解决方案为其客户创建小型(单页)网站。在最终客户领域,所有客户都很难获得自己的 MyWebSite.com 名称,这也是我的客户希望为这些网站使用子域名的原因之一:XYZ.MyClient.com。从我们所看到的情况来看,最终客户对这种解决方案很满意。
我们使用的第三方云托管公司表示我们应该使用通配符 A NAME(例如 *.MyClient.com),这样就可以将所有子域流量通过他们的平台路由到正确的站点,而不会影响主域(www.MyClient.com)。
我客户的外包 IT 公司坚持认为不会,这种通配符解决方案实际上会将所有 www.MyClient.com 流量通过第三方托管公司路由,然后才能到达正确的网站。他们断言最好的解决方案是为每个子域创建一个 A NAME 记录,并管理数百个网站的后续移动。
我只需要答案,因为我可以促进各方之间的讨论——我并不关心答案是什么。我只希望我的客户有一个安全、可管理、经济高效的解决方案。我的问题是:
- 使用 A NAME 通配符方法实际上是否会通过第三方托管公司路由核心 www.MyClient.com?
- 如果是,那为什么会是个问题?延迟?安全?其他?
- 我在其他地方读到过(虽然是 5 年前的帖子),最好为子域设置单独设置安全证书。是这样吗?如果是这样,有人能给我提供一些好的参考吗?
- 管理数百个子域名的 A NAME 记录对我来说是一项繁重的工作,而且容易出错和返工。这是真的吗?
- 我是否遗漏了什么?
谢谢
答案1
使用 A NAME 通配符方法实际上会路由核心www.MyClient.com通过第三方托管公司?
否。现有特定名称始终优先于通配符匹配。(请参阅之前链接中的“存在规则”RFC 4592。
如果是,那为什么会是个问题?延迟?安全?其他?
延迟,并且对第三方提供商施加了相当大的带宽要求,因为它必须将所有流量中继到您的真实网络服务器。(我敢打赌他们根本不会这么做。)
当然,第三方提供商会完全控制你主网站的内容。这是不可取的即使您已信任他们来管理您客户的网页。
我在其他地方读到过(虽然是 5 年前的帖子),为子域名设置提供单独的安全证书会很好。
我对此不太了解,但基本上你有三个选择:
- 为每个子域名颁发新证书。现在使用 Let's Encrypt 完全可以做到这一点,第三方提供商也可以自行完成。
- 一次性颁发几个证书,每个证书对几十个子域名有效。过去(LE 之前)经常这样做,但相比之下,这可能是最难维护的。
- 颁发通配符证书
*.myclient.com
。虽然最容易管理,但成本较高,理论上使第三方主机更容易以某种方式冒充您的www
子域名。(不过,这个论点有点牵强;无论如何,LE 也存在同样的问题。)
管理数百个子域名的 A NAME 记录对我来说是一项繁重的工作,而且容易出错和返工。这是真的吗?
我认为直接A
/AAAA
记录的最大问题是,如果服务器的 IP 地址发生变化,更新所有记录会相当麻烦。将所有这些子域都设为CNAME
s(别名)会让事情变得更容易,因为只需要更新一个域(CNAME 目标)。
但一般来说,子域名的数量似乎不是问题——只要它们的创建和删除被明确定义为设置新客户端程序的一部分。(也就是说,如果你的系统不能直接自动化在打开新客户的网页时...)
不过,使用通配符会更加容易。