Как мне перенаправить с помощью обратного прокси-сервера Apache при ошибках сервера

У меня есть несколько http и игровых серверов в сети, и в настоящее время я использую обратный прокси Apache2 для разделения трафика между доменами и машинами.

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

По сути, когда 192.168.1.5 недоступен или сильно загружен, я хотел бы вместо этого отправлять этот трафик на 192.168.1.6.

Я пробовал искать, но, очевидно, даже использую неправильную терминологию. Извините за то, что был новичком в этом. Я все еще учусь и ценю любые советы или подсказки.

Спасибо, ребята!

2
задан 27 February 2016 в 16:19
2 ответа

Хорошо, думаю, я нашел свой ответ.

Используя последнюю версию Apache и директиву «FallbackResource», мы можем установить альтернативный пункт назначения для наших клиентов в случае, если первичный пункт назначения недоступен. Более подробную информацию можно найти на Apache.org ниже ... https://httpd.apache.org/docs/2.4/mod/mod_dir.html#fallbackresource

По сути, просто добавьте строку внутри скобок VirtualHost с единственным разрешимым местоположением в качестве единственного аргумента. Примерно так ...

<VirtualHost *:80>
  ServerName foo.example.com
  DocumentRoot /var/www/html
  DirectoryIndex index.php
  FallbackResource http://192.168.1.5/overflow.html
</VirtualHost>

В моем конкретном случае я также использую ProxyPass и Reverse Proxy Pass с отдельным сервером для каждого VirtualHost, поэтому я немного упростил его для примера. Я считаю, что это должен быть верный пример.

1
ответ дан 3 December 2019 в 14:30

Поправьте меня, если я ошибаюсь ..

1. Из вашего вопроса я понимаю, что вы используете хост-узел с несколькими виртуальными машинами.

2. Также, насколько я понимать, что вы маршрутизируете трафик через прокси-сервер Apache, создавая виртуальный прокси-сервер на узле хоста для каждой виртуальной машины.

3. Я предполагаю, что из вашего примера VM1 (192.168.1.5) и VM2 (192.168.1.6) в основном "одинаковы" "и могут рассматриваться как клоны друг друга.

4. Вы хотите найти способ, чтобы, если VM1 выходит из строя или перегружается, направлять трафик на VM2

Если 1,2,3 представляет вашу ситуацию, а 4 - то, что вы ищете, то решение простое ... вам просто нужно выделить столько ресурсов, сколько вы можете позволить своей основной виртуальной машине. Используя вторую виртуальную машину на том же узле, вы не решите свою проблему.

Хорошим решением было бы оставить виртуальную машину 1 на вашем реальном сервере и перенести клонированную виртуальную машину 2 на другой сервер с дополнительными ресурсами.

Затем на первом сервер ... между прокси-сервером apache хост-узла и VM1 вы можете установить балансировщик нагрузки по вашему выбору.

Затем ... в зависимости от политики балансировщика нагрузки вы можете направить трафик на VM1 или направить трафик на второй сервер на VM2

Надеюсь, это поможет ..

-1
ответ дан 3 December 2019 в 14:30

Теги

Похожие вопросы