fbpx
10 domínios para você usar à vontade… só no localhost
Publicado em: segunda-feira, 6 de set de 2021
Tags:

Se você quer validar um proxy reverso, hospedar diversas aplicações no IIS para testar, enfim, estou compartilhando com vocês 10 domínios que apontam para 127.0.0.1.

Respectivamente:

  • localhost1.gago.io
  • localhost2.gago.io
  • localhost3.gago.io
  • localhost4.gago.io
  • localhost5.gago.io
  • localhost6.gago.io
  • localhost7.gago.io
  • localhost8.gago.io
  • localhost9.gago.io
  • localhost10.gago.io

Ao realizar uma requisição para localhost6.gago.io, o primeiro passo do browser é buscar o IP desse endereço, o DNS retornará 127.0.0.1, seu ip de loopback.

Logo em seguida seu browser usará a porta especificada na URL ou a padrão do protocolo definido no schema da URL (443 para https ou 80 para http).

De posse do IP e da PORTA, uma conexão TCP será enviada para esse endereço (IP e PORTA), aqui, nome não é mais relevante, embora ele vá em um cabeçalho chamado host.

É com esse cabeçalho que seu proxy reverso consegue diferenciar localhost6.gago.io de localhost7.gago.io, por exemplo.

Qual o sentido disso?

1° porque é util sempre que você está testando um proxy reverso, api gateway ou algum cenário multi-tenant na própria máquina.

2° porque ilustra o papel de um DNS, inclusive para service discovery.

3° porque desmistifica e remove a ideia de que DNS recebe a requisição HTTP (isso é papel de um proxy reverso) e por consequência, DNS não diz respeito à portas.

Exemplo

# docker-compose.override.yml
version: '3.4'

services:
  identity_mock:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=http://+:12080;https://+:12443
    ports:
      - "12080:12080"
      - "12443:12443"
    volumes:
      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
    networks:
     app:
        aliases:
          - localhost10.gago.io

  example:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=http://+:13080;https://+:13443
      - bearer__Authority=https://localhost10.gago.io:12443
      - oidc__Authority=https://localhost10.gago.io:12443
    ports:
      - "13080:13080"
      - "13443:13443"
    volumes:
      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
    networks:
     app:
        aliases:
          - localhost1.gago.io


networks:
  app:
    driver: bridge  

Esse exemplo é bem curioso, pois enquanto teu browser é enganado pelo meu DNS, que entrega o IP 127.0.0.1 como resposta para o nome localhost10.gago.io, o docker engana o container de aplicação fazendo com que localhost10.gago.io aponte para o container que é meu identity server. Com isso tudo funciona perfeitamente.

Conclusão

Esses 10 nomes são coringas na hora de criar demonstrações. Como o endereço aponta para 127.0.0.1, seja eu daqui ou você daí da sua casa sempre veremos respectivamente nosso próprio ambiente ao usarmos esses nomes. Como há um DNS de verdade entregando esses IP’s, não precisamos ficar manipulando arquivos hosts.

No docker, se passar por esses endereços é super fácil e por isso é uma mão na roda na hora de fazer demonstrações como a que mostrei acima, uma aplicação web e seu identity server.

Esses nomes vão me ajudar no conteúdo gratuito e no conteúdo das turmas de todos os cursos. No curso de RabbitMQ vamos abordar Event Driven, e preciso de algumas aplicações lado-a-lado com nomes diferentes que ao mesmo tempo sejam fáceis de ser usáveis pelos alunos.

Já no Docker Definitivo temos demandas novas com Kong e NGINX que usarão esses nomes, mas também multi-tenant maturity models.

Amanhã eu vou mostrar o nosso mock de servidor de identidade, já estou finalizando a documentação.

Luiz Carlos Faria

Mensagem do Autor

Espero que goste desse post. Não deixe de comentar e falar o que achou. 

Se acha que esse post pode ajudar alguém que você conheça, compartilhe!

 

Categorias

Assine

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.