我的服务器有两个 IP 地址,我想让两个 Apache 服务分别监听这两个 IP 地址。DNS 有以下内容:
- 将“intranet”指向服务器名称的 CNAME 别名
- 将服务器名称指向 IP 1 的主机 (A) 记录
- 将“dev”指向 IP 2 的主机(A)记录
我有一个正在运行的 Apache 服务Listen intranet:80
,但它决定监听 IP 1和IP 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 启动时,它会绑定到本地计算机上的某个端口和地址并等待传入请求。默认情况下,它会监听计算机上的所有地址。但是,可能需要告知它监听特定端口,或仅监听选定的地址,或两者兼而有之。