web-dev-qa-db-ja.com

Apacheを特定のIPアドレスにバインドする

3つのIPがあります。 Apacheを2つのIPアドレスにバインドして、3つ目を他の用途(Node.js)のために自由にしようとしています。現在、ApacheはすべてのIPアドレスをリッスンしています。 httpd.conf:

Listen 80

Apacheに私のアドレスのうちの2つだけをバインドさせたい。私は this 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を指定するとエラーになります。誰かアイデアはありますか?

ありがとうございました。

3
Kit

1つのIPアドレスをApacheにバインドするだけで済みます。

Listen [myIP1]:80

それだけで十分です。

2
PaulM

通常、このエラーメッセージは、間違ったIPアドレスを入力したか、指定されたIPですでにポート80が使用されていることが原因です。ポートを一時的に81(または同様の未使用の番号)に変更してみて、機能するかどうかを確認します。表示されている場合は、これらのIPの一方または両方のポート80で他の何かが待機していることを意味します。 netstatは、すべてのアドレスでリッスンするすべてのサービスをリストする必要があります。

5
uesp

行う場合、両方のIPが表示されますか

ifconfig -a
1
Mike