Повышаем доступность веб-сервера Apache с помощью UCARP с балансировкой нагрузки между двумя виртуальными серверами на базе Ubuntu Server 14.04.2

imageC помощью описанной в предыдущей заметке конфигурации UCARP можно повысить доступность не только Squid, но и других приложений, например того же веб-сервера Apache, который отвечает у нас за раздачу пользователям файла авто-конфигурации прокси wpad.dat, как это было описано ранее.

Чтобы реализовать это, на обоих серверах рассмотренных в предыдущем примере, нам потребуется изменить один из конфигурационных файлов веб-сервера Apache /etc/apache2/ports.conf на вид, в котором он поставляется по-умолчанию:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Перезапускаем веб-сервер и убеждаемся в том, что TCP-прослушиватель доступен для всех интерфейсов:

sudo invoke-rc.d apache2 restart
sudo netstat -tnlp | grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      29889/apache2

При необходимости добавляем явное правило iptables запрещающее внешние подключения к портам Apache (подразумевается, что eth1 это WAN-интерфейс):

sudo iptables -A INPUT -p tcp --dport 80 -i eth1 -j DROP
sudo iptables -A INPUT -p tcp --dport 443 -i eth1 -j DROP
sudo service iptables-persistent save

После этого остаётся только изменить IP адрес A-записи в DNS - WPAD.holding.com на адрес vIP ucarp. При этом можно по аналогии со Squid в DNS создать две одинаковые записи WPAD для двух vIP для распределения нагрузки между двумя веб-серверами Apache.

Всего комментариев: 2 Комментировать

  1. Дмитрий /

    Установил сервер apache, Сервер А - Windows (на нем платформа 1С),
    Сервер Б - CentOS (на нем БД на postgreSQL) Сервер В - CentOS сервер apache. Опубликовал веб базу внутри сети работает без проблем, но вот через интернет не как не хочет, да и на коммутаторе правила прописали.Сам сервер apache через интернет виде, но вот база не открывается. В чем может быть причина?

  2. Дмитрий /

    На Сервер В — CentOS сервер apache и сервер 1С.

Добавить комментарий