Dockerized Apache + SSL atrás do NGINX como proxy reverso

2

Eu tenho dois contêineres, um dos quais está executando o NGINX como um proxy reverso para outros contêineres do servidor. Um dos outros contêineres está executando o Apache com o SSL ativado e configurado. Eu vi vários exemplos de configuração em que, no melhor de meu entendimento, o NGINX lida com os certificados em vez do Apache, e simplesmente canaliza tudo o mais para algum Apache não-SSL.

Agora, prefiro que o Apache manipule seus próprios certificados, particularmente porque facilita minha vida ao gerenciá-los (usando um dockedize o letsencrypt, que monta os volumes do contêiner do Apache relevante e descarta os certificados em todos os direitos lugares).

A questão é que não consigo encontrar nenhuma configuração de exemplo para o NGINX para simplesmente passar tudo por proxy para o contêiner do Apache.

    
por Morpheu5 29.04.2016 / 13:38

1 resposta

0

Isso porque o nginx não pode fazer isso.

Ele pode finalizar uma conexão SSL, mas não pode passar de uma a outra.

Você tem pelo menos duas opções:

  1. Cole os certificados SSL em um pequeno volume do Docker que é compartilhado entre seu contêiner letsencrypt e seu contêiner nginx. Enquanto você está nisso, é melhor deixar o nginx interceptar os desafios do Let's Encrypt, o que pode simplificar um pouco sua arquitetura.
  2. Use haproxy em vez de nginx. Ao contrário do nginx, o haproxy é capaz de passar por conexões SSL (e fazer uma variedade de outras coisas que são úteis em uma configuração containerizada). Observe que isso requer suporte a SNI e, portanto, esses sites não estarão acessíveis a antigos clientes da Web que não suportam SNI.
por 29.04.2016 / 13:40