subdomain - 添加自定义域
问题描述
我正在构建一个 SaaS 服务,并且我想为自定义域构建一个功能。目前,我的服务域是myservice.com/abc_client_info
,我想更改为client_domain.com,/abc_client_info
我可以看到 Shopify、Github、Bitly 等都可以做到,我只是想知道创建这种功能的机制是如何的。
我不知道如何在 Google 上获得正确的关键字来找到解决方案。
解决方案
对于熟悉 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 中 <VirtualHost> 块中的 ServerName),这提供了有限的灵活性,但更易于编程。
推荐阅读
- php - 第一个关系的 Laravel 6.x 关系默认值
- jekyll - 如何解决 Jekyll-Include-Cache 问题?
- amazon-web-services - AWS s3 同步从 s3 复制到 EMR 很慢
- vb.net - VB.NET 列表视图委托
- node.js - 如何确定 NPM 包是实现 ES5 还是 ES6 模块?
- docker - dotnet restore 使用 docker Jenkins 容器失败
- jquery - 为什么这个 jquery 方法不返回 SELECTED 值?
- javascript - Node Js,多次调用导出的函数
- python-3.x - 如何在给定增长率和特殊规则的情况下获得 pandas 的累积增长?
- css - Ruby on Rails 6 -- 使用 Webpacker 和 Bootstrap 在局部视图上没有 CSS