Обратный прокси перед обратным прокси (маршрутизация на основе домена)

Вопрос или проблема

Вот, вероятно, странный вопрос, который, возможно, задан неправильно.

У меня есть следующая структура/план сети…:

вставьте описание изображения здесь

Идея заключается в том, что кто-то, кто несет ответственность/уполномочен за сеть 1 и domain1.com, имеет свой собственный обратный прокси, который он управляет и заботится о сертификатах SSL. То же самое касается сети 2.

Вопрос в том, возможно ли это вообще? К сожалению, я не очень разбираюсь в SSL и прокси. Я подозреваю, что обратный прокси, который хранит сертификаты SSL, должен образовывать фронтенд.? Если это так, это, вероятно, не сработает. Тогда вопрос в том, есть ли другой способ? Нечто вроде NAT на основе http/https? Звучит немного странно… Но я думаю, суть понятна.

Если это в принципе возможно, то вопрос будет в том, правильный ли порядок HaProxy->Nginx? И может ли кто-нибудь дать мне совет или ссылку о том, как правильно настроить фронтенд-прокси.

Большое спасибо за ваши ответы.

Ответ или решение

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

Возможна ли такая конфигурация?

Да, такая схема вполне возможна. Обратный прокси (Reverse Proxy) может обрабатывать запросы от клиентов (например, пользователей сети 1) и передавать их на другой обратный прокси, который находится в другой сети (сеть 2). Это позволяет иметь различные системы управления сертификатами и настройки для каждого домена. Однако вы правы в том, что порядок использования прокси-серверов и управление SSL могут внести определённые нюансы.

Архитектура и маршрутизация трафика

  1. SSL-терминация:
    Первым шагом в этом процессе является понимание, как будет срабатывать SSL-терминация. SSL-терминация означает расшифровку HTTPS-запроса на одном из прокси-серверов. Если вы хотите, чтобы каждый из ваших ответственных администраторов управлял SSL-сертификатами, то SSL лучше всего реализовать на первом обратном прокси (например, Nginx или HAProxy).

  2. Порядок прокси:
    Если вы планируете использовать HAProxy и Nginx, то логично будет использовать следующую последовательность:

    • HAProxy: как первый уровень обратного прокси, который будет маршрутизировать трафик к различным Nginx-серверам, основываясь на названии домена.
    • Nginx: обеспечивает более тонкую настройку управления, обработку кэша и статических файлов.

Пример конфигурации

Вот простой пример конфигурации для HAProxy:

frontend http_front
   bind *:80
   bind *:443 ssl crt /etc/ssl/certs/your_certificate.pem
   acl domain1 hdr(host) domain1.com
   acl domain2 hdr(host) domain2.com

   use_backend backend1 if domain1
   use_backend backend2 if domain2

backend backend1
   server server1 192.168.1.10:80

backend backend2
   server server2 192.168.2.10:80

И пример для Nginx:

server {
    listen 80;
    server_name domain1.com;

    location / {
        proxy_pass http://backend1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen 80;
    server_name domain2.com;

    location / {
        proxy_pass http://backend2;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Дополнительные моменты

  • Цепочка SSL: Во время передачи между прокси может потребоваться повторная шифровка, если это важно для безопасности. То есть, первый прокси может расшифровать запрос, а затем снова зашифровать его, направляя на второй прокси.

  • Тестирование и мониторинг: Убедитесь, что у вас есть подходящие тесты и средства мониторинга для отслеживания трафика и возможных ошибок.

  • Документация и поддержка: Ознакомьтесь с официальной документацией HAProxy и Nginx для более глубокого понимания и дополнительных параметров настройки.

Заключение

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

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

Капча загружается...