Apache 不遵守“需要主机”,但“需要 ip”有效

Apache 不遵守“需要主机”,但“需要 ip”有效

我正在尝试仅授予我们公司访问网站的权限。

当我使用时Require host,我收到 403 错误:

Require host gateway.ourcompany.com

但是,如果我明确使用我们的 IP 地址,我将获得该网站:

Require ip 203.0.113.0

这是为什么?我是否必须启用一些与 DNS 相关的模块才能host正常工作?

答案1

确保您的反向查找也能正常工作,因为 apache 会检查直接查找和反向查找:

http://httpd.apache.org/docs/2.4/mod/mod_authz_host.html

名称匹配或以此字符串结尾的主机允许访问。仅匹配完整组件,因此上述示例将匹配 foo.example.org,但不会匹配 fooexample.org。此配置将导致 Apache 对客户端 IP 地址执行双重反向 DNS 查找,而不管 HostnameLookups 指令的设置如何。它将对 IP 地址执行反向 DNS 查找以查找关联的主机名,然后对主机名执行正向查找以确保其与原始 IP 地址匹配。只有正向和反向 DNS 一致且主机名匹配时才允许访问。

相关内容