将 Apache 绑定到特定 IP 地址

将 Apache 绑定到特定 IP 地址

我有三个 IP。我试图将 Apache 绑定到我的两个 IP 地址,以便将第三个 IP 地址留给其他用途(Node.js)。目前,Apache 正在监听所有 IP 地址。httpd.conf:

Listen 80

我只希望 Apache 绑定到我的两个地址。我尝试过以下操作doc并将上述内容替换Listen 80为以下内容:

Listen XX.XX.XX.XX:80
Listen XX.XX.XX.XX:80

但是,当我尝试重新启动 Apache 时,出现以下错误:

Stopping httpd:        [FAILED]
(99)Cannot assign requested address: make_sock: could not bind to address XX.XX.XX.XX:80
no listening sockets available, shutting down

我不明白为什么所有 IP 地址都可以免费使用端口 80,但当我指定单个 IP 时,会出现错误。有人知道吗?

谢谢。

答案1

只需要将1个IP地址绑定到apache。

Listen [myIP1]:80

这就是你所需要的全部。

答案2

通常,此错误消息是由于输入了错误的 IP 地址或由于端口 80 已在指定 IP 上使用。请尝试暂时将端口更改为 81(或类似的未使用数字),看看是否可行。如果可行,则意味着其中一个或两个 IP 上的端口 80 上还有其他程序正在监听。netstat应列出所有地址上监听的所有服务。

答案3

如果你执行

ifconfig -a

答案4

在 ubuntu 12.04 上,你必须在那里添加 IP(httpd.conf 为空)

NameVirtualHost xx.xx.xx.xx:80(如果您的网站上有多个域名)
Listen xx.xx.xx.xx:80

相关内容