Как настроить Apache2 так, чтобы он запускался, даже если он не может прослушивать один конкретный IP-адрес, но успешно прослушивает другие?

Как настроить Apache2 так, чтобы он запускался, даже если он не может прослушивать один конкретный IP-адрес, но успешно прослушивает другие?

Я хочу настроить Apache2 (в Ubuntu 14.04) таким образом, чтобы он запускался при загрузке и прослушивал 127.0.0.1:80 и 192.150.0.1:80.

Для этого у меня есть следующие строки /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 не запустится.

Я хочу, чтобы apache не убивал себя, если не удалось привязать последний IP, это все, что пошло не так. Есть ли решение с использованием директив конфигурации Apache, которые:

  • Apache успешно запускается при загрузке, даже если второй адрес не привязан ни к одному интерфейсу.
  • мне нужно только включить интерфейс и перезапустить Apache для прослушивания обоих адресов.

?

Я не хочу вручную редактировать /etc/apache2/ports.confкаждый раз после включения интерфейса.

решение1

Это довольно распространено в настройках HA с несколькими сайтами на нескольких IP-адресах. IP-адреса являются общими для устройств в HA.

Короткий ответ: нельзя. Apache не запустится, если на устройстве не присутствуют все IP-адреса.

Нашим решением было вписать перезапуск Apache в процесс переключения при сбое, гарантируя, что служба Apache будет перезапущена при возникновении сбоя.

Связанный контент