Como conectar em cadeia dois servidores Web (Apache) com um na DMZ e outro na zona segura?

0

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:

  1. Dois servidores da Web podem ser encadeados como eu descrevi? Assim como o Apache pode "encadear" com o Tomcat usando o mod_jk.
  2. O servidor A será ativado por SSL (HTTPS). O servidor B também precisará ter o SSL ativado?
  3. 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?
jaadooviewer
fonte

Respostas:

0
  1. Sim, você pode conectar servidores da Web em cadeia. Isso é, efetivamente, o que é um servidor proxy. (Na verdade, é um proxy reverso - e é isso que você deseja pesquisar no Google para mais pesquisas).

  2. Não, o servidor B não precisa estar ativado para SSL. Você pode usar mod_proxy (apache) ou equivalente para remover o SSL. Isso é muito, muito comum em ambientes de balanceamento / compartilhamento de carga. (Por acaso mantenho algumas delas!)

  3. Na minha configuração, normalmente passa como HTTP. Eu imagino que se você usar o squid (um proxy / proxy reverso), poderá fazê-lo com HTTPS - eu não tentei, mas parece que o Apache pode fazer isso também. Veja http://httpd.apache.org/docs/2.2/mod/mod_proxy.html e procure na página " https: // backend "

davidgo
fonte