workdpress.com 如何实现这一点,让每个人都获得一个子域名,比如在新用户注册后,当子域名尚未选择时,都可以选择 chooseName.wordpress.com?
答案1
我相信他们有一个通配符 CNAME 记录:
*.wordpress.com. CNAME lb.wordpress.com.
因此,任何对不存在的名称的查询都会通过此 CNAME 记录明确得到答复。
这似乎是合理的,因为您可以生成以 wordpress.com 结尾的随机有效 DNS 名称,该名称不太可能被任何人使用,但 DNS 会用此 CNAME 进行响应。因此(几乎)所有主机名(如 *.wordpress.com)都设置为指向 lb.wordpress.com先验,即使没有被认领,它们也在 DNS 级别工作。
他们如何处理它是另一个问题。基本上,背后的 Web 服务器lb.wordpress.com
只是将Host
标头用作附加输入参数。在有人认领某个名称后,它会被添加到某个数据库表中,并使用此参数进行查询。
答案2
评论太长了,但确实已经回答(请投票)
1.A通配符 DNS *.wordpress.com.
记录,这样您就不需要为每个新订阅者实际创建新的 DNS 记录和新的子域。
2.类似的预装通配符 SSL 证书有效,*.wordpress.com.
以便所有潜在子域名自动具有 TLS 支持,并且无需为每个新订阅者生成和安装新的 SSL 证书。
3.专为以下目的而设计的网站/Web 应用程序多租户. 对于每个新订阅者,只需创建一个新的配置文件,并且他们“自己的”定制 WordPress 网站将立即生效,而无需安装、部署、配置和定制(独立)Web 应用程序的副本(或实例)。
这利用了这样一个事实:对于 HTTP/HTTPS,Web 浏览器必须Host:
随每个请求发送一个标头,其中包含访问者想要访问的网站的 DNS 主机名。这允许服务器后端选择是否存在使用该子域的订阅者,然后显示该特定 WordPress 网站的页面。
当访问尚未被订阅者认领的子域名时,服务器后端通常会将您带到注册页面。