我已经为我的一个域配置了 apache 身份验证。我希望 apache 不应提示输入本地 ip 和 *.myexternaldomain.com 的密码。目前,使用以下配置,它仅适用于 myexternaldomain.com。
Order deny,allow
Deny from all
AllowOverride All
AuthType Basic
AuthName "Webyog Gateway Authentication"
AuthUserFile /etc/httpd/httpdpasswd
Require user webyog
Allow from myexternaldomain.com 192.168.1.0/24
Satisfy Any
如何在上述配置中允许像 *.myexternaldomain.com 这样的通配符域名?
温暖的问候
苏普拉提克
答案1
此配置已经允许 *.myexternaldomain.com,但正如 apache 文档所说:
此配置将导致 Apache 对客户端 IP 地址执行双重反向 DNS 查找,无论 HostnameLookups 指令的设置如何。它将对 IP 地址执行反向 DNS 查找以查找关联的主机名,然后对主机名执行正向查找以确保它与原始 IP 地址匹配。只有正向和反向 DNS 一致且主机名匹配时,才会允许访问。
我猜测,您对 myexternaldomain.com 子域的反向 DNS 查找没有按预期工作。
答案2
看一下此链接。此配置应该可以工作!请参阅以下示例:
A (partial) domain-name
Example:
Allow from apache.org
Allow from .net example.edu
Hosts whose names match, or end in, this string are allowed access. Only complete components are matched, so the above example will match foo.apache.org but it will not match fooapache.org.
答案3
您应该编写2个允许指令:
Allow from myexternaldomain.com
Allow from 192.168.1.0/24
但是,正如 heiko 所写,使用域名不是一个好的做法。