特定の IP でリッスンに失敗しても、他の IP では成功する場合でも Apache2 を起動するように設定するにはどうすればよいですか?

特定の IP でリッスンに失敗しても、他の IP では成功する場合でも Apache2 を起動するように設定するにはどうすればよいですか?

起動時に起動し、127.0.0.1:80 と 192.150.0.1:80 でリッスンするように Apache2 (Ubuntu 14.04 上) を設定したいと考えています。

このため、 には次の行があります/etc/apache2/ports.conf

Listen 127.0.0.1:80
Listen 192.168.150.1:80

VirtualHost ディレクティブの開始タグ:

<VirtualHost 127.0.0.1:80 192.168.150.1:80> 

これらの編集と実行後、正常に動作しましたsudo apache2ctl restart

しかし、後者の IP は起動時にサーバー上のアクティブなインターフェースにバインドされていないため、Apache は次回の起動時に起動できませんでした。

見つけたここ:

ホストシステムに存在しないIPとポートにバインドしようとすると、apache httpd が起動に失敗する

後者の IP へのバインドに失敗したことが唯一の原因である場合、Apache が自分自身を終了しないようにしたいです。Apache 構成ディレクティブを使用して次のような解決策はありますか?

  • 2 番目のアドレスがどのインターフェースにもバインドされていない場合でも、起動時に Apache を正常に起動します。
  • 両方のアドレスをリッスンするには、インターフェースをオンにして Apache を再起動するだけです。

?

/etc/apache2/ports.confインターフェースをオンにした後、毎回手動で編集したくありません。

答え1

これは、複数の IP 上の複数のサイトを持つ HA セットアップでは非常に一般的です。IP は HA 内のデバイス間で共有されます。

簡単に答えると、できません。デバイス上にすべての IP が存在しなければ、Apache は起動しません。

私たちの答えは、フェイルオーバーが発生したときに Apache サービスが再起動されるように、フェイルオーバー プロセスに Apache の再起動を記述することでした。

関連情報