htaccess中的主机名称是多less钱? 其他可能的解决方

为了方便地允许或不允许使用dynamicIP地址,您可以将其添加为.htaccess文件中的主机名

正如我已阅读: .htaccess允许从主机名?

它会对连接的IP地址进行反向查询,看看响应是否与允许的名称匹配。

(实际上,Apache实际上是在进行双向查找,首先进行反向查找,然后对结果进行正向查找。)

这就是我们目前在.htaccess中没有使用dynamic-ip主机名的原因:这个“听起来”很重:每个请求都有2个额外的查找。

  • 这真的是相当沉重 ,并会相当繁忙的服务器,而不是寻找更less的负载摆脱这个:)? (例如:这个“负载”与其他的比较起来如何?如果一个请求的价格高出1000倍,那么查找起来可能是微不足道的,otoh,这可能就是最终的结果:))
  • 还有其他解决scheme吗? 我可以编写一个脚本来查看主机名,并将其放入.htaccess文件中,但这有点像黑客。

只是使用.htaccess本身是一个性能杀手。 当Apache全局configuration中的AllowOverrides以任何方式打开时,httpd必须在每个请求的URI的每个目录级别上查找一个.htaccess文件,以防有些东西需要读取。 这相当于大量额外的lstat()调用,增加了延迟并增加了服务器必须执行的工作量。 也许你因为共享主机设置而被困在.htaccess中,但是你无法真正获得“高性能”……)

撇开这个DNS并不是最大的指标,你们的目标是不允许“dynamic的”IP地址? 这可能更适合应用程序防火墙 – 可能是通过检查黑名单(可能使用本地DNSparsing程序),这些东西坐在您的Apache服务器前进行IP检查。

与主机名有关的问题是服务器进程在进行DNS查找时挂起,所以速度越慢,对服务器的影响就越大。 如果您在内存中看到更多的apache孩子没有问题,那么这将不是什么大问题(在极端的情况下,不太可能的情况下,您甚至可能会用尽MaxClients号码),但是如果您有限的话,可以考虑使用脚本来更新IP在.htaccess它或类似的东西。