Dado o enunciado, foi criado um arquivo em yaml para ser consumido pelo docker-composer, com o proxy reverso configurado corretamente seguindo a documentação da imagem referenciada, inserindo o arquivo nginx-proxy.local
com os redirecionamentos necessários para a pasta /etc/nginx/vhost.d
no containter responsável. Necessário também a inserção de variáveis de ambiente nos containers responsáveis pela aplicação para o funcionamento correto e expondo a porta a ser usada. E por fim tudo conectado em um rede criada para os containers.
— Extra Criei uma implementação opcional com os certificados e um script para não interferir no que foi pedido no enunciado.
A aplicação por padrão esta rodando na porta 8080, se optar pela instalação com SSL a aplicação responderá na porta 443 (padrão do https) e seu browser pedira para proceder de forma insegura, pois é um certificado "self-signed".
Se feito pelo script startup.sh
você terá 3 opções, fora a opção destroy
, é iniciado uma instância do seu navegador padrão(se estiver usando alguma distribuição linux com xdg ou gnome):
./startup.sh
— Sem nenhum parâmetro, ele subira o docker-compose com as configurações padrão, pedidas no enunciado../startup.sh destroy
— Remove os containers ativos e certificados na pastaconfigs/certs
e comenta o codigo para SSL no yaml../startup.sh ssl
— Gera os certificados(necessário openssl), remove comentários no yaml adiciona127.0.0.1 nginx-proxy.local
ao seu arquivo hosts e sobe os containers.
Default:
curl http://localhost:8080/app1
curl http://localhost:8080/app2
SSL:
https://nginx-proxy.local/app1
curl -kL -H "Host: nginx-proxy.local" localhost:8080/app1
(redirect insecure connection)curl -k https://nginx-proxy.local/app1