我在 Fedora Linux 上使用 Apache HTTPd 服务器来提供仅供内部使用的 Web 套件。但是,我的机器只有一个公共 IP 地址。
我想配置 HTTPd 以接受并向属于指定 IP 地址组的客户端提供网页,而不是向整个 www 提供网页。是否可以以这种方式配置 httpd?或者我需要配置我的机器防火墙来为我执行相同操作,而不是 HTTPd 服务器?
答案1
防火墙将允许您限制对 Web 服务器端口的访问,但如果您的 Web 服务器同时具有公共内容以及您只想与特定 IP 地址范围的用户共享的内容,那么您需要在 apache httpd Web 服务器级别应用访问控制,并且不能使用防火墙。
您通常在 apache 配置文件中设置 Apache 访问控制并保护目录:
<Directory "/www/docs">
Require ip 10 172.20 192.168.2
</Directory>
这Require ip
语法用于授予来自 10.0.0.0/8、172.20.0.0/16 和 192.168.2.0/24 IP 地址范围的用户访问权限。
请参阅https://httpd.apache.org/docs/2.4/howto/auth.html有关如何设置更复杂的访问控制和身份验证的示例。