Мне нужно подключить два сервера Apache по следующей причине.
Серверное приложение скомпилировано как модуль CGI. Нужно работать с базами данных, которые находятся в безопасных зонах за брандмауэрами. Это требует, чтобы приложение также находилось в безопасной зоне. В качестве решения мы рассматриваем настройку двух серверов Apache с последовательным подключением: один в DMZ (A), а другой за брандмауэрами (B). Приложение CGI будет частью сервера Apache B, который будет находиться в безопасной зоне.
Вот то, что конфигурация сервера / маршрутизация трафика предусмотрена как:
- Сервер А будет в DMZ. Это будет первая точка контакта для входящих запросов клиентов. Это также будет последним пунктом для исходящих ответов клиенту. SSL (https) включен на этом сервере.
- Когда сервер A получает запрос (через HTTPS), он проверяет строку запроса и для определенных шаблонов отправляет запрос на сервер Apache B, который находится в безопасной зоне за брандмауэрами. Примечание: сервер A является "внешним интерфейсом" и для нескольких других интернет-приложений, некоторые из которых работают на Tomcat в защищенной зоне (они получают запросы, пересылаемые им с помощью mod_jk).
- Сервер B передаст полезную нагрузку запроса приложению CGI, которое обработает запрос и передаст ответ своему серверу Apache (то есть серверу B). Затем сервер B передаст ответ обратно серверу A, который отправит его обратно клиенту. Это похоже на движение трафика между сервером Apache и Tomcat через mod_jk.
Несколько вопросов:
- Могут ли два веб-сервера быть подключены последовательно, как я описал? Точно так же, как Apache может связывать гирлянды с Tomcat, используя mod_jk.
- Сервер А будет поддерживать SSL (HTTPS). Нужно ли, чтобы на сервере B была включена поддержка SSL?
- Предполагая, что последовательное подключение возможно, когда сервер A перенаправляет запрос, полученный по HTTPS, на сервер B, он переходит на сервер B как HTTPS или просто как HTTP? Или это то, что мы контролируем? Как?