Preciso encadear dois servidores Apache em cadeia pela seguinte razão.
Um aplicativo do lado do servidor é compilado como um módulo CGI. Ele precisa trabalhar com bancos de dados, que estão em zonas seguras atrás de firewalls. Isso requer que o aplicativo também esteja na zona segura. Como solução, estamos pensando em configurar dois servidores Apache encadeados em série: um na DMZ (A) e outro atrás de firewalls (B). O aplicativo CGI fará parte do servidor Apache B, que estará na zona segura.
Aqui está o que a configuração do servidor / roteamento de tráfego é prevista como:
- O servidor A estará na DMZ. Será o primeiro ponto de contato para solicitações de clientes recebidas. Também será o último ponto para respostas enviadas ao cliente. O SSL (https) está ativado neste servidor.
- Quando o servidor A recebe uma solicitação (por HTTPS), ele examina a sequência de consultas e, para certos padrões, encaminha a solicitação ao Apache Server B, que está na zona segura atrás de firewalls. Nota: o servidor A também é um "front end" para alguns outros aplicativos da Internet, alguns dos quais estão em execução no Tomcat na zona segura (eles recebem solicitações encaminhadas a eles usando o mod_jk).
- O servidor B entregará a carga útil da solicitação ao aplicativo CGI, que processará a solicitação e passará a resposta ao servidor Apache (ou seja, servidor B). O servidor B passará a resposta de volta ao servidor A, que a enviará de volta ao cliente. É como o movimento do tráfego entre um servidor Apache e Tomcat falando através do mod_jk.
Algumas questões:
- Dois servidores da Web podem ser encadeados como eu descrevi? Assim como o Apache pode "encadear" com o Tomcat usando o mod_jk.
- O servidor A será ativado por SSL (HTTPS). O servidor B também precisará ter o SSL ativado?
- Supondo que o encadeamento em série seja possível, quando o servidor A encaminha a solicitação recebida por HTTPS para o servidor B, ele passa para o servidor B como HTTPS ou HTTP simples? Ou é algo que controlamos? Quão?