我有一个基于云的 apache2 Web 服务器,它使用各种虚拟主机配置文件为多个站点提供服务。
其中一个网站仅供我开发,目前配置为仅允许我当前的 IP 地址。
Order deny,allow
Deny from all
Allow from 1.2.4.5
但是我的 IP 大约每周更改一次 - 所以我更喜欢使用我的动态 DNS 主机名。唉这...
Allow from abc.ddns.net
...不起作用。可以做吗?
它可以工作,但它需要你的 DNS 设置完美。如果您使用
allow from {hostname}
,那么对于每个相关的 URI 路径,Apache 会请求对连接的 IP 进行反向 DNS 查找,然后如果从您的允许指令返回正确的主机名,Apache 会重新检查该名称是否解析为原来的连接。
这是一组相对昂贵的操作,通常不推荐。
Allow from {ip address}
通常是首选。
Apache2 版本中添加了一个新指令
2.4.19
,它正是您想要的。Require forward-dns abc.ddns.net
在您的虚拟主机定义内。
有关此指令的更多信息可以在官方网站上找到 - https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html#requiredirectives.
PS:不要忘记重新加载/重新启动你的 apache2 服务。