【问题标题】:Add custom domain添加自定义域
【发布时间】:2020-03-22 13:43:01
【问题描述】:
我正在构建一个 SaaS 服务,并且我想为自定义域构建一个功能。目前我的服务域是myservice.com/abc_client_info,我想改成client_domain.com,/abc_client_info
我可以看到 Shopify、Github、Bitly 等都可以做到,我只是想知道创建这种功能的机制是怎样的。
我不知道如何在 Google 上获取正确的关键字来找到解决方案。
【问题讨论】:
标签:
subdomain
virtualhost
saas
custom-domain
【解决方案1】:
熟悉 StackExchange 网络的人可能已经注意到,SE 为各种专业主题提供“自定义域”,例如:
crypto.stackexchange.com:用于密码学,
security.stackexchange.com:为了 IT 安全,
blender.stackexchange.com:用于 Blender 3D 创意软件。
这里,“crypto”、“security”和“blender”是 stackexchange.com 域的“子域”。到目前为止,子域是托管“自定义域”的最简单方法,因为它不需要额外的成本来注册不同的“父”域。
Shopify、GitHub 等将某些通配符子域指向其特定的 IP 地址,并在创建和停用子域时动态地为基于名称的“虚拟主机”网站提供服务。这些子域可以在域注册商网站上进行配置。
幕后发生的事情是,Web 服务器查找通配符子域的匹配项并调用动态托管软件(例如 CGI 脚本、PHP、ASP.NET、JSP 等),这些软件经过编程以进一步区分和识别这些子域并提供自定义内容。另一种方法是静态配置服务器配置中的每个子域(例如,Apache HTTPD 中 块中的 ServerName),这提供了有限的灵活性,但更易于编程。