Назад | Перейти на главную страницу

Keepalived с apache не может привязать интерфейс на сервере резервного копирования

У меня есть два сервера debian 6, на которых запущен keepalived 1.1.20, один из которых действует как главный, а другой как резервный. На обоих серверах размещен apache 2.4, у которого есть глобальный прослушиватель на всех интерфейсах на порту 80 (Listen *: 80), но у меня есть сайты, которым требуется прослушиватель для порта 443 (SSL) и который настроен для каждого VirtualHost в конфигурации Apache, поскольку Я не хочу, чтобы каждый VirtualHost прослушивал порт 443.

Проблема в том, что когда я пытаюсь запустить Apache на резервной машине, которая не содержит виртуальный интерфейс, который должен прослушивать VirtualHost, я получаю AH00072: make_sock: could not bind to address 1.1.1.1:443. Я знаю, что это ожидаемое поведение Apache.

Настоящий вопрос в том, есть ли какие-либо известные обходные пути или решения для этого сценария?

Вы можете использовать следующую команду как root:

# echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

Это позволяет вашим приложениям иметь возможность связываться с адресом, который не принадлежит устройству в вашей системе. Вы можете установить это в /etc/sysctl.conf сделать его постоянным.