我正在尝试建立一个允许您使用自定义域名设置照片库的网站。
该网站的用户不知道如何注册或配置域名,因此必须为他们完成此操作。
用户在框中输入所需的域名(我们检查它是否可用)并点击“注册”按钮,我们的网站为他们注册域名并自动设置网站(当用户访问该域名时,照片画廊才有效,不需要技术技能)。
答案 0 :(得分:5)
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
标头,解析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
标头,以解析到正确的站点。
答案 1 :(得分:2)
此处没有通用API。您必须与您自己的域名注册机构核对。这是相关域提供商特有的。
答案 2 :(得分:0)
我建议使用http://www.zerigo.com/managed-dns ...托管DNS api解决方案。我注意到,当提供的大型网站提到了有关它们的内容时,此服务已存在。我正在考虑在我的下一个项目中使用它们(类似于你想要的设置)并使用eNom进行域名注册。