Apache:允许来自域而不使用反向查找

我想允许从apache的“域名”而不是IP地址访问文件夹。 现在, allow from接受域作为参数,但我认为它也做了反向DNS查找交叉检查(这是好的,但对我来说太严格)。 有没有办法configurationApache不进行反向DNS检查(特别是allow from指令)。

((基本上,我想只允许从我的电脑,它有一个dynamic的IP地址访问,我已经映射到一个域使用DynDns – 但我的“dynamicIP”的反向查找将不会parsing到域))。

或者,如果有人可以build议免费服务,也为我的dynamicIPconfiguration反向DNS查找(不知道它是否可能在第一位),这也会做的伎俩。

谢谢!

J.P

简短的答案是否定的,因为Apache的Allow from必须做一个反向和正向的DNS查询:

“这个configuration将使Apache对客户端IP地址执行一个双向反向DNS查询,不pipeHostnameLookups指令的设置如何,它将对IP地址进行反向DNS查找以find关联的主机名,然后执行一个前向查找主机名以确保它与原始IP地址匹配,只有正向和反向DNS一致,主机名匹配才能访问。

我的build议是在特定的目录上进行某种authentication,而不是试图通过主机名进行限制。

通常情况下,您不能使用允许来自dynamic主机(反向DNS通常指向您的ISP)。 但是,无论如何,我想要那些不值得用身份validation保护的页面。 所以这是我的解决方法。

我的服务器configuration为在DNS之前首先使用/ etc / hosts文件。 我有一个cron工作,每隔15分钟用我当前的dynamic外部IP更新主机文件。 在我的情况下,我有我自己的子域名在我自己的DNS,并希望更新几个主机。 我从cron调用的更新脚本是:

 #!/bin/sh ## Update /etc/hosts with our dynamic hosts # dig ends the domain name with a dot, so we need it domain=dyn.example.com. die() { echo "$1" 1>&2 exit 1; } tmpfile=$(mktemp "/tmp/hosts.XXXXX") cp -a /etc/hosts $tmpfile || die "Cannot copy /etc/hosts to $tmpfile" perl -i -ne "print unless /\Q$domain\E\s/" $tmpfile || die "Cannot remove $domain from $tmpfile" dig -t AXFR $domain | \ perl -lne '/^(\S+)\s+\d+\s+IN\s+A\s+(\S+)/ && print "$2 $1"' >> $tmpfile \ || die "Cannot add $domain entries to $tmpfile" mv $tmpfile /etc/hosts || die "Error cannot mv $tmpfile to /etc/hosts" 

如果你有一个主机来更新,你的脚本可以比这更简单。