我正在尝试制作一个允许您使用自定义域名设置照片库的网站。
网站的用户不知道如何注册或配置域名,因此必须为他们做这件事。
用户在框中输入所需的域名(我们会检查它是否可用)并单击“注册”按钮,我们的网站会为他们注册域名并自动设置网站(当用户转到该域名时,照片gallery 可以正常工作,不需要技术技能)。
最佳答案
Enom has an API for resellers这可以让您代表用户自动注册域。 (我与 eNom 没有任何关系,也没有使用过 eNom 的产品)。
*.weebly.com 的实现
通常这种形式的动态子域将使用 Wildcard DNS record .这种类型的记录将类似 *.example.com
的通配符模式映射到一个或多个服务器。
假设您有一个博客站点并希望让用户动态选择域名。您在 www.example.com 上建立了一个网页,其中包含一个让用户选择名称的表单。因此,用户注册并选择 bar.example.com
。
假设您的 DNS 服务器具有以下映射:
foo.example.com > 1.2.3.1
*.example.com > 1.2.3.2
对 foo.example.com 的任何请求都将路由到 1.2.3.1,但任何其他名称(例如 bar.example.com)将由 1.2.3.2 提供服务。因此,当用户被重定向到 http://bar.example.com
时,浏览器将访问 1.2.3.2。请注意,由于不需要更改 DNS,因此没有传播延迟:重定向将立即生效。
在 1.2.3.2 上运行的软件随后会检查请求中的 Host
header ,解析 fqdn 并剥离 .example.com
,然后解析 bar
数据库。如果记录存在,它将为 bar
提供适当的响应。
您还希望保留一份您计划在未来使用的保留名称或模式的列表,例如 www\d*、mail\d*、ns\d*
,以便当用户尝试注册站点 www07
时,您的黑名单将拒绝它。
将任何域映射到 bar.example.com
bar.example.com
站点存在后,用户可能希望将自定义域名(如 www.widgetsimakeinmyhome.com
)映射到他们的站点。这方面的注册和设置大多是手动的,像 EasyDNS 这样的网站让它变得非常简单。一些注册商可能有 API 可以让您更轻松地完成这部分工作。这些通常应该是 RESTful 或者至少是基于 HTTP 的 API,因此您可以选择您喜欢使用的客户端库(例如 urllib2
)。
要创建映射,您的数据库将有一个表将主要站点(如 bar
)映射到一个或多个域别名。一个人会登录并将 www.widgetsimakeinmyhome.com
映射到 bar
。
现在您的软件需要根据主站点表和别名表检查 Host
header ,以解析到正确的站点。
关于python - 注册和配置域名的最佳 API 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814837/