似乎某些家庭路由器固件被devise为与dynamicDNS服务(例如noip&dyndns)一起使用,以服务于消费者ISP后面的服务器的子域。 在类似的说明中,是否有任何dynamic的DNS服务,将与共享的networking托pipe帐户?
例如,Dreamhost有一个可以检索域名IP地址的API。 理论上,dynamicDNS服务会定期向Dreamhost API请求网站的IP地址。 如果Dreamhost上的IP地址发生变化,DNS主机会在注意到该差异时自动对该网站的区域文件进行必要的更改。
过去,我在共享主机上付了一个静态IP地址,我的域名在GoDaddy注册,名称服务器设置为EveryDNS。 由于共享主机发生灾难性硬件故障,我的网站被移动,IP地址发生变化。
在上面的示例设置中,DNSlogging会自动更新。 相反,我不得不手动更新我的Alogging。
是否有一个dynamicDNS托pipe服务和共享的Web主机,将允许这?
在上面的例子中提出的解决scheme是否可行?
奖金( 冒着暴露我对这个问题的无知的风险 ):除了DNS之外,还有其他的方式来检测网站的IP地址吗? 也许共享主机目录中的脚本可能检测到IP更改并通知DNS主机?
提前致谢!
你已经提到了DynDNS,听起来你所缺less的就是客户端。 他们在他们的网站上提到了几个兼容linux的客户端。
使用这些结合dynamicDNS服务应该完成你想要的。
我原本以为你的共享主机会为你提供shell访问。 没有shell访问,事情变得有点棘手。 首先,你需要一些定期运行脚本的方法。 一些networking应用程序通过在每个页面加载时调用例程来实现“假cron”,但是当您的网站无法访问时,这将无济于事。 这意味着你需要访问crontab。
如果您有能力定期运行任务,则可以开发一个脚本,将新的IP地址发送给您控制的另一台主机,这也是权威的DNS。 接收主机将使用新的IP地址来更新区域文件,然后重新加载DNSconfiguration。
TL; DR不,我不知道任何已经提供的服务。
到目前为止,它只发生过一次,这是非常的原因。 考虑到dynamicDNS的缺点,我真的不认为这是值得的麻烦。 如果你仍然想这样做,只需要得到一个DDNS客户端,并在服务器上运行它,因为这是唯一可以正常工作的地方。
如果您非常担心,您还应该实施某种forms的监控,以确保服务器可以访问,并在不存在的情况下提醒您。
定期向Dreamhost API请求该网站的IP地址。 如果Dreamhost上的IP地址发生变化,DNS主机会自动对[DNS]区域文件进行必要的更改
不,那不存在。
但是,存在什么是第三方服务,它通过发出HTTP请求来监视您的网站,并在您的networking服务器closures时更改DNS。 但是,这些不是“自动”与您的虚拟主机集成,并不知道您的虚拟主机是否为您设置了一个新的服务器。 您必须自己运行2个或更多的Web服务器(例如使用2个不同的Web主机),并让服务故障转移到您指定的服务器。
这种服务的例子是DNS Made Easy的DNS故障转移 , EdgeDirector及其监控服务。 还有其他几个人提供类似的东西,通常价格较高。
请注意,使用DNS'技巧'不是高可用性的完美解决scheme; 因为DNSlogging是由ISP和网页浏览器caching的。 因此,未知数量的用户将不会立即被引导到备份服务器,这将需要一些时间。
你也可以看看CloudFlare 。 它们不像您询问的那样通过“dynamicDNS”进行操作,而是通过他们的节点networking来代理您的内容。 但是,即使服务器出现故障,他们也可以在一定程度上提供caching内容的服务。
隐约地这可能涉及使用PHP或其他一些脚本语言来获得一个IP地址(因为它的共享主机,你将有一个非常有限的select),并以某种方式抓住该 IP地址,并将其传递给DynDNS脚本 – 大概做一些事情与curl和PHP,如果可用。 对不起,精确度不高,但共享主机是非常有限的,你没有太多的工具在您的处置。