Articles of 域名系统

PHP:当在Apache中运行时,gethostbyname()突然不再将名称parsing为IP

当我们在Apache中执行PHP时,其中一个没有进一步更新或重新configuration的旧式服务器突然停止将主机名parsing为IP。 但是,从CLI执行时仍然可以正常工作。 从RSScaching上次修改时间,我推断它在3月28日左右停止工作。 为了重现这个问题,我使用fsockopen()创build了一个脚本,它说“连接失败(errno 2)”。 我进一步减less了与失败的名称parsing有关的问题: <?php $addr = gethostbyname("twitter.com"); echo "ADDR($addr)"; ?> 当我通过Apache运行这个,输出是ADDR(twitter.com) ,这是错误的。 当我从CLI运行这个时,输出是ADDR(aaa.bbb.ccc.ddd)与不同的IP地址,如预期。 服务器设置上没有任何更改。 CLI和Apache模块共享相同的php.ini 。 PHP是Zend Optimizer v2.5.10的v4.4.9版本。 Apache是​​v1.3.31。 我知道版本是旧的。 但由于没有任何改变,像“先尝试升级版本”的解决scheme是没有解决scheme,因为服务器的function设置/版本被冻结,并将很快被replace。 我们仍然需要解决scheme。 如果我通过脚本运行dig ,它可以在两个环境(mod_php和CLI)中工作,但这不仅仅是一个丑陋的黑客攻击,因为它涉及许多编辑和testing,整个脚本库也是不受欢迎的,因为服务器上的PHP应用程序也被冻结,只收到安全更新。 它将被完全重写(在新服务器上)所取代。 但是由于重写需要一些时间,并且需要连续地replace遗留应用程序的一部分,所以我们需要修复parsing器问题。 我已经search了一下,虽然这个问题是已知的,但是很多人没有find解决办法。 提高内存限制的修复程序不起作用。 重新启动没有工作。 mod_php中的parsing器只是停止工作,没有明显的原因。 🙁 更新:我通过完全停止Apache来解决它,等待片刻,然后再次启动它。 但是这并不能解释这种行为的根源(因此没有令人满意的解决scheme)。 所以我把这个打开。

为什么Serverfault使用Dynect平台? 我也应该吗?

很多域使用Dynect平台(Zendesk.com,Stackoverflow.com,Serverfault.com,…)。 请问,请向我解释Dynect平台(和类似的应用程序)所做的事情? 何时使用Dynect平台? 谢谢。

主DNS服务器故障的DNS / resolv.conf设置?

我目前是混合networking中一些RHEL Linux机器的pipe理员。 我们的DNS服务器是Windows AD控制器。 因此,他们偶尔需要维修。 (例如:打补丁)这意味着在某些时候,我的Linux机器的主DNS控制器将无法访问。 在Windows世界里,这个处理很好。 当DNS查询主要失败时,Windows客户端停止使用它15分钟。 所以,除了最初的打嗝,他们都顺利地推进。 但是,Linux不断尝试相同(失败)的主服务器。 默认情况下,它会等待至less5秒,然后再尝试辅助服务器。 这意味着一切都需要很长时间,甚至如果有很多的DNS查找,应用程序也会超时。 所以,我正在考虑让我的服务器更强大。 我目前的计划是A)修改resolv.conf只等待一秒钟的响应,而不是重试。 B)可能会在/ etc / hosts中创build一些策略项,以便主要服务器仍然可以快速到达。 所有这一切说,我很想有一个更好的解决scheme。 或者,我想听听其他人在做什么。 或者只是理论上的“ 你的想法好/坏,这就是为什么”。 – 克里斯托弗·卡雷尔

dnsResolve和isInNet函数问题

我们有一个Proxy.pac文件: function FindProxyForURL(url, host) { if (dnsResolve("ProxyServer") == "10.1.1.116") if (dnsDomainLevels(host) == 0 || isInNet(host, "10.0.0.0","255.0.0.0") || isInNet(host, "125.0.0.0","255.0.0.0") || isInNet(host, "127.0.0.0","255.0.0.0") || isInNet(host, "204.223.70.250","255.255.255.255") || dnsDomainIs(host, ".muj.com") || dnsDomainIs(host, "sv.com.gt") || dnsDomainIs(host, "com.es.gt")) return "DIRECT"; else return "PROXY 10.1.1.116:8080"; else return "DIRECT"; } 工作正常,但有许多用户抱怨因为proxy.pac部署时间过长导航。 看来dnsResolve和isInNet是问题的原因。 有没有其他的方法来改善这个脚本? 或如何accelarte DNS解决?

DNS查找绑定configuration文件

是否有一个工具,将采取从DNS查找信息,如dig google.com并将其变成一个绑定configuration文件? (在这种情况下google.com是一个例子,我将使用我自己的域,但我没有访问绑定configuration文件。)

主要的域名注册商是否需要粘贴logging?

我使用Namecheap注册了somedomain.com ,并成功地为ns1.somedomain.com和ns2.somedomain.com设置了Alogging,作为其他域的名称服务器。 我有otherdomain.me注册Godaddy。 当我进入Godaddy的界面,并告诉otherdomain.me其名称服务器将是ns1.somedomain.com和ns2.somedomain.com ,Godaddy的界面抱怨这些名称服务器没有注册。 事实上,如果我回到namecheap的“域名服务器注册”部分,并给它的ns1.somedomain.com和ns2.somedomain.com的IP地址,Godaddy然后将允许我将这些域名服务器分配给otherdomain.me没有问题。 所以我想我的问题是双重的: 艾米我正确的假设“名称服务器注册”只是友好的术语来创build胶水logging? 如果是这样,并且考虑到胶水logging应该被用来解决循环依赖(我没有),那么主要的注册商是否扭曲了胶水logging的目的 – 把它们变成一个“允许”的域名服务器的全球数据库?

GitHub页面和DNSlogging

我想我的新网站位于GitHub页面 ,但不幸的是我一直在使用一个电子邮件帐户,我想指向GitHub的域名。 所以,我有这个付费托pipe,我收到我的电子邮件,我的域名在GoDaddy注册,我想保持这种方式。 我只需要让网站内容位于GitHub。 我将如何更改DNSlogging,使此设置工作? 也就是说,domainname.com及其所有子域名指向GitHub,但我仍然可以收到我的电子邮件,因为它们位于我的付费托pipe。 谢谢! PS:根据GitHub页面文章,我需要将Alogging更改为他们给我的IP,但我不知道如何做电子邮件设置。

Amazon AWS EC2上的多个域

我对如何使用Amazon AWS托pipe多个网站感到困惑。 我站在如何主办一个网站,但我只允许多达5个弹性IP地址。 那么,如果我不能为每个域分配一个IP地址,我将如何托pipe5个以上的域名? 我可以使用提供的Amazon Public DNS地址(xxx.xxx.xxx.xxx.compute-1.amazonaws.com),但是在更改域的DNS时,我不能使用这个地址作为Alogging。 帮帮我?

Apache通配符文档

我想使用子域作为我的DocumentRoot文件夹 foo.example.com 去 /var/www/foo 不过,我不想为每个子域添加一个新的条目 基本上 *.example.com 去 /var/www/* 哪里*是任何字母串

如何使用自定义名称服务器和IIS为多个域正确设置DNS

我刚刚获得了Windows Server 2008 VPS。 无论是正确还是错误,我遵循主机的指示来设置自定义名称服务器。 所以现在我有ns1.mydomain.com和ns2.mydomain.com。 因为我有1个IP地址,所以都是一样的。 我有www,*和其他一些logging,因为我使用Google Apps没有MX。 我把我的注册服务商mydomain.com指向了ns1.mydomain.com。 一切都很好,工作。 问题是myOtherDomain.com。 我把注册服务器上的DNS设置为指向ns1.mydomain.com,在IIS中给它,它是自己的网站,并configurationmyOtherDomain.com和www.myOtherDomain.com主机名的绑定。 我以为这就是我必须要做的。 显然不是。 我必须添加其他东西到DNS服务器? 我应该有另一个自定义名称服务器? 由于他们指向相同的IP,我认为IIS会解决主机头文件的问题。 该网站是PHP,但不知道这是问题。