使 Apache2.4 仅监听 systemd 中的特定接口

使 Apache2.4 仅监听 systemd 中的特定接口

在家庭网络环境中,我托管了一个 Web 服务器,但我的 ISP 不断通过 DHCP(此处为 dhclient)给我提供不同的动态 IP 地址。

系统正在运行 systemd(而不是 rc.d initd)。

我如何确保 Apache 2.4 只监听该接口(更改 IP 地址)?

注意事项:

  • 我不希望 Apache 2.4 在我的其他 3 个 NIC 接口上监听(我有一个测试网络、一个有线电视提供商网络和一个 WiFi 网络,每个网络都有自己的网络服务器)。
  • 防火墙方法在这里不是最好的方法选项(此外,Apache2 必须提前以某种方式知道 IP 地址,并且应该有选择地监听指定的接口...为了可隔离性。)

答案1

您可以使用 让 Apache 只监听特定的 IP 和端口Listen 192.0.2.1:80,甚至可以使用 将 VirtualHosts 绑定到单个接口<VirtualHost 192.0.2.1:80>。这里唯一的问题是动态 IP,这需要动态配置。

一种可能的解决方案是将Listen指令包含在单独的配置文件中,这样更容易替换。然后编写一个脚本来替换此配置文件中的 IP 并重新启动 Apache。例如,可以使用中的配置up启动此脚本。iface/etc/network/interfaces

但没有直接的方法。服务器应该有静态 IP 地址。

相关内容