Minha empresa tem um serviço da web de negócios em execução na AWS que usa um certificado SSL curinga (funciona para * .example.com). Vários parceiros têm subdomínios e precisam de SSL ( link , link , etc.) e servimos respostas HTML ou JSON a eles.
Nosso site de produção tem um ELB voltado para a Web que possui nosso certificado SSL instalado. O ELB equilibra e encerra o SSL em um cluster de instâncias do servidor de produção dentro do nosso VPC. Nosso aplicativo da web sabe como servir o parceiro correto HTML / JSON com base no nome do subdomínio.
Eu quero replicar isso para os nossos ambientes de teste (por exemplo, controle de qualidade, teste, demonstração) da forma mais simples possível. Mas os ambientes de teste e produção não podem ser as mesmas instâncias do servidor; Eu preciso saber que não vou matar a produção se eu estragar no nosso ambiente de teste.
Idealmente, o mesmo ELB que lida com o tráfego de produção poderia de alguma forma direcionar o tráfego para os meus servidores de teste, talvez se eles usassem um endereço IP conhecido ou um subdomínio DNS? Estou certo de que isso não é possível?
Suponho que eu poderia configurar um ELB com o certificado SSL para cada ambiente de teste, cada "balanceamento" para um servidor, mas isso parece muito complicado, e eu também acho caro.
Todas as instâncias, produção e teste, são executadas dentro do nosso VPC. Mas, atualmente, somente o cluster de produção tem o SSL configurado no ELB (que finaliza o SSL) e transmite solicitações HTTP diretas para as próprias instâncias.
Os servidores de teste aceitam HTTP. Eu tenho IPs elásticos públicos e nomes DNS configurados (staging.example.com, qa.example.com, demo.example.com) ... mas eles não são protegidos por SSL.
Quase não há dados críticos ou de clientes nas instâncias do servidor de teste, e eles são protegidos e corrigidos corretamente, como qualquer servidor voltado para a Web deve ser (espero !!). Ainda assim, eu gostaria de SSL não apenas para segurança adicional, mas também para que meu ambiente de teste correspondesse ao meu ambiente de produção o mais próximo possível.
Em todos, exceto no caso do nosso servidor de armazenamento temporário, os outros ambientes são suportados por uma única instância (por exemplo, demo e qa no mesmo servidor) com configurações de host virtuais nomeadas pelo Apache. Então, para teste, muitos sites, mas apenas alguns servidores.
Existe uma maneira de eu ainda ter meu certificado SSL curinga instalado apenas no meu balanceador de carga (ou talvez mais um) ou alguma outra configuração que me permita detectar e rotear a solicitação HTTP para o servidor de teste correto, com base em IP ou nome de domínio (ou até mesmo um cabeçalho HTTP)?
Eu sei que esta é uma questão complicada. Eu entendo AWS, segurança e rede muito bem, mas ainda estou tentando descobrir o roteamento e até DNS interno dentro do ambiente VPC, por isso pode ser ignorante das minhas opções.