我正在尝试仅授予我们公司访问网站的权限。
当我使用时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 一致且主机名匹配时才允许访问。