创建DNS记录编程

问题描述:

的情况是,我有一个网站,得到了用户的子域。例如:client.mydomain.com。如果客户未能满足某些条件(例如,付款默认),我希望上述网站指向不同的网站。我们想要这样做的方式是通过适当的重定向创建一个dns记录。创建DNS记录编程

我使用一个双赢2003服务器,程序.NET。关于如何以编程方式执行此操作的任何输入?

我控制网站,但是原因是有很多的用户(因此子域),也没有物理网站(client.mydomain.come),它就像一个wordpress /博客,其中一个用户有blog.wordpress.com(我假设他们没有为每个用户创建一个新网站)。

发现它不应该是可能的映射* .domain.com到你的服务器的IP,然后从你的应用程序配置主机结合?这样你将为所有用户使用相同的应用程序。否则,你总是可以自己检查主机并重定向,切换webroot等或任何你想要的。

好,使用.NET和的Windows 2003 Server,你可以做到这一点使用WMI脚本。 您可以找到DNS WMI classes here

更多的信息。但是

我强烈建议您不要使用Windows服务器的公共DNS服务器 - 安全和性能方面的原因,你好得多使用Linux服务器运行BIND。另外,使用BIND-dlz(BIND的附加组件),可以使BIND几乎将任何SQL数据库用作DNS记录的数据源。从BIND 9.4开始,BIND-dlz包含在核心BIND分布中。更多信息可在http://bind-dlz.sourceforge.net

如果你控制的网站,我认为最会设置重定向,而不是改变DNS记录。重定向可以像重命名当前文档索引(比如index.htm)那样简单,只要你自己做一个meta重定向到目的地。

DNS的变化是缓慢的传播,所以会出现在失效以及在实现,甚至有小TTL延迟。另一个变化更容易和直接。

为您的DNS使用Amazon AWS Route 53这样的服务,然后您可以通过编程方式使用它们的API来添加/删除/更改DNS记录。