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

маршрутизация одного IP-адреса на несколько обратных прокси

У меня есть несколько серверов, на которых запущены обратные прокси-серверы nginx, указывающие на один и тот же IP-адрес, потому что мне нужно поддерживать 100% работоспособность, и моя служба полагается на них, чтобы скрыть настоящий IP-адрес от злоумышленников и не только.

Мне было интересно, есть ли метод DNS или какой-то другой вид магии, который я мог бы использовать, чтобы иметь возможность указать один IP-адрес или доменное имя на другой IP-адрес (один из моих обратных прокси-серверов) в случае, если один из них пойдет вниз.

Я хочу, чтобы пользователь мог получить доступ к моей службе через один статический IP-адрес или домен, который затем указывал бы ему на текущий рабочий обратный прокси-сервер по моему выбору.

По сути, он должен иметь возможность перенаправлять пользователя на другой IP-адрес, который я бы выбрал и обновить очень быстро потому что, если один сервер выходит из строя, ему нужно немедленно направить свой трафик на другой (в идеальном сценарии). Он должен быть защищен от DDoS-атак, потому что в противном случае это было бы бессмысленно для начала.

Я понятия не имею о сети, пожалуйста, не обижайтесь на меня, и спасибо за любой совет

Обычно вам нужен VIP (виртуальный IP-адрес). Это можно сделать на некоторых маршрутизаторах. Вы можете получить более высокую доступность с помощью резервных маршрутизаторов

Вы можете предоставить функциональность с помощью одного IP-адреса для прослушивания прокси. Приложение вроде haproxy могу сделать это за вас.

В любом случае вам понадобится проверка работоспособности, чтобы проверить состояние серверов. Это вызовет переключение на другой сервер. Если прокси выйдет из строя, вы потеряете доступ, но вы можете использовать избыточные прокси в активной пассивной паре. Процесс поддержки активности может использоваться для автоматизации активации пассивного сервера в случае отказа активного сервера.

Любой вариант позволяет распределить нагрузку между несколькими серверами. Прокси-сервер может использовать разные серверы для разных контекстов (путей). Некоторые маршрутизаторы также могут выполнять маршрутизацию на основе контекста.

Другой вариант, о котором следует знать, - циклический DNS, где вы просто указываете несколько IP-адресов для одного и того же имени хоста.

Однако есть ограничения:

  • то, как клиент обрабатывает эти несколько IP-адресов, зависит от клиента. Я думаю, что браузеры пробуют их по очереди
  • это не удаляет неисправный IP-адрес из списка, если он становится недоступным.

Я бы установил на этих серверах поддержку активности. Таким образом, только один из них будет иметь «настоящий» IP-адрес, если он выйдет из строя, один из коллег возьмет на себя управление.