Apache 2.2 如何知道我的服务器的第二个 IP,以及如何隐藏它?

Apache 2.2 如何知道我的服务器的第二个 IP,以及如何隐藏它?

我的服务器有两个 IP 地址,我想让两个 Apache 服务分别监听这两个 IP 地址。DNS 有以下内容:

  1. 将“intranet”指向服务器名称的 CNAME 别名
  2. 将服务器名称指向 IP 1 的主机 (A) 记录
  3. 将“dev”指向 IP 2 的主机(A)记录

我有一个正在运行的 Apache 服务Listen intranet:80,但它决定监听 IP 1IP 2,所以我无法启动第二个服务。当通过 DNS 的路径应该将它引导到 IP 1 时,它怎么会到达 IP 2?我猜它会解析为 127.0.0.1,然后绑定到所有可用的 IP。如果是这样的话,Listen IP1:80实际上会强制它不使用 IP 2,还是会应用相同的逻辑并使用所有可用的 IP?如果是后者,实际上有没有办法将 Apache 配置为只监听 IP 1?(我只是询问而不是实验,因为这是一个实时系统,我不想造成比我需要的更多的停机时间。)

答案1

使用Listen IP1:80并且它将只绑定到该IP。

http://httpd.apache.org/docs/2.2/bind.html

当 Apache 启动时,它会绑定到本地计算机上的某个端口和地址并等待传入​​请求。默认情况下,它会监听计算机上的所有地址。但是,可能需要告知它监听特定端口,或仅监听选定的地址,或两者兼而有之。

相关内容