我想启用HostnameLookups
。我打开了httpd.conf
但找不到HostnameLookups
。我需要自己添加一行吗?语法是什么?
答案1
看一下此链接:
此指令启用 DNS 查找,以便记录主机名(并传递给 REMOTE_HOST 中的 CGI/SSI)。值 Double 表示执行双重反向 DNS 查找。也就是说,在执行反向查找后,将对该结果执行正向查找。正向查找中的至少一个 IP 地址必须与原始地址匹配。(在“tcpwrappers”术语中,这称为 PARANOID。)
无论设置如何,当使用 mod_authz_host 控制主机名访问时,都会执行双重反向查找。这对于安全性来说是必要的。请注意,除非您设置 HostnameLookups Double,否则此双重反向的结果通常不可用。例如,如果仅 HostnameLookups On 并且向受主机名限制保护的对象发出请求,则无论双重反向是否失败,CGI 仍将在 REMOTE_HOST 中传递单反向结果。
默认设置为 Off,以便为那些不需要进行反向查找的站点节省网络流量。这对最终用户来说也更好,因为他们不必忍受查找带来的额外延迟。负载很大的站点应该将此指令保持 Off,因为 DNS 查找可能需要相当长的时间。实用程序 logresolve 默认编译到安装目录的 bin 子目录中,可用于从离线记录的 IP 地址中查找主机名。
最后,如果您有基于主机名的 Require 指令,则无论 HostnameLookups 的设置如何,都会执行主机名查找。
答案2
主机名查找是 apache 核心的一部分,因此您只需在配置文件中添加该行。
但要小心,客户端 IP 上的 DNS 查找通常很慢且不可靠(许多 IP 地址在 DNS 中没有反向记录)。
答案3
你使用的是什么发行版?如果你使用的是 Ubuntu,在标准 Apache 安装中,你会在以下位置找到它/etc/apache2/apache2.conf
:
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off