
Я хочу настроить 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 будет перезапущена при возникновении сбоя.