Visão Geral
Uma etapa importante após a criação de um aplicativo Web é a sua exposição, para esse processo é necessário efetuar duas etapas cruciais, a criação de um DNS, e a vinculação de um endereço IP ao DNS.
Para isso iremos organizar os tutoriais da seguinte forma:
- Introdução: Neste tópico abordaremos os conceitos iniciais necessários para a configuração em qualquer ambiente de infraestrutura.
- DNS na Cloudflare: Neste tópico abordaremos uma exemplificação de implementação dos conceitos no ambiente da Cloudflare.
Uso comum: https://seu-dominio/web
Acesso anônimo: https://public.seu-dominio/web
Endereço de IP
Toda máquina conectada à internet possui uma identidade exclusiva chamada Endereço IP. É através dessa sequência numérica que os computadores se localizam e trocam pacotes de dados entre si.
Atualmente, convivemos com dois padrões de endereçamento:
- IPv4: É o formato mais comum, composto por 4 grupos de números separados por
.(ex:192.168.0.1). Cada grupo varia de 0 a 255. - IPv6: Criado para suprir a escassez de endereços IPv4, é composto por 8 grupos de caracteres hexadecimais separados por
:(ex:fe80::f12d:9d5a:2375:b244). Seus valores variam de 0 a FFFF.
IP Dinâmico
Em redes domesticas, os endereços IPs, costumam ser uma geração de IP dinâmica, ou seja, sempre que o modem for reiniciado, o IP da rede é atualizado para um novo.
Considerando hospedagem de aplicações, sites ou outros recursos que precisam estar disponível na internet não é a configuração ideal de rede.
IP Fixo
O IP fixo é um endereço que nunca muda, permanecendo vinculado à sua conexão por tempo indeterminado. Se tratando de utilização empresarial o IP costuma ser fixo, porém pode variar, sendo uma informação necessária a validação com a operada antes de assumir que o IP é fixo.
Esse tipo de configuração de rede é o ideal para hospedagem no servidor, pois não ocorre o risco de serviços como o DNS parar de funcionar, por uma mudança de IP.
Domain Name System (DNS)
O DNS (Domain Name System) é o serviço responsável por traduzir nomes de domínio fáceis de memorizar em endereços de IP que as máquinas utilizam para se comunicar.
Sem ele, em vez de digitar google.com.br, você precisaria memorizar sequências complexas como 192.250.218.2 (IPv4) ou fe80::f12d:9d5a:2375:b244 (IPv6).
Para facilitar o entendimento, imagine o DNS como a lista de contatos do seu celular:
- Cenário: É muito difícil memorizar o número de telefone exato de cada estabelecimento ou amigo (Ex: 4002-8922).
- A Solução: Na sua agenda, você salva esse número sob o nome “Melhor Pizzaria”.
- Então: Quando você quer fazer um pedido, você busca pelo nome. O seu celular, “por baixo dos panos”, localiza o número vinculado àquele nome e completa a chamada.
Na internet, o processo é idêntico, você digita o “nome do contato” no navegador e o DNS informa ao seu computador qual é o “número de telefone” daquela máquina para que a conexão seja estabelecida.
Registrando um DNS
Existem diversas maneiras de configurar as entradas de um DNS. Abaixo, abordaremos as categorias mais fundamentais e utilizadas para a hospedagem de aplicações.
Registro A & AAAA
Os registros do tipo A e AAAA funcionam como um vínculo direto entre um nome de domínio e um endereço IP.
- Registro A: É o padrão utilizado para vincular um domínio a um endereço IPv4.
- Registro AAAA: É o padrão utilizado para vincular um domínio a um endereço IPv6.
Pense nestes registros como o endereço exato de uma casa no mapa, eles levam o usuário diretamente ao servidor onde os arquivos estão hospedados.
Registro CNAME
Generalizando o conceito, um CNAME pode ser entendido como um apelido, sem vínculo direto com um endereço físico. Ele aponta para outro nome, e não diretamente para um IP.
Podemos imaginar um domínio gerado por um CNAME como a ideia de uma pizzaria. Ao ouvir esse termo, entendemos que se trata de um estabelecimento que vende pizzas, porém sem saber exatamente qual pizzaria ou qual marca. Ou seja, o conceito existe, mas não há uma localização específica definida.
Nesse contexto, os subdomínios funcionam como um refinamento dessa ideia. Por exemplo, ao nos referirmos à “Pizzaria do João”, já conseguimos identificar um estabelecimento mais específico, com uma identidade e um local mais bem definidos.
Da mesma forma, no DNS, o CNAME abstrai o destino real, enquanto os subdomínios ajudam a organizar e dar significado aos diferentes pontos de acesso.
Liberações no firewall
Para que o seu servidor seja acessível pela internet, não basta apenas configurar o DNS; é necessário liberar as portas de acesso no sistema de segurança de rede, ou seja, o firewall.
Por convenção a comunicação web utiliza duas portas principais:
- Porta 80 (HTTP): Utilizada para conexões padrão, sem criptografia.
- Porta 443 (HTTPs): Utilizada para conexões seguras, protegidas por certificados SSL/TLS. Esta é a configuração recomendada para liberação de acesso publico.
A liberação dessas portas, normalmente, é realizada diretamente no sistema operacional.
No ecossistema Windows, é necessário acessar o Windows Defender Firewall e permitir o tráfego TCP nas portas 80 e 443 (ou em outras portas, conforme a necessidade).
Em cenários onde o ambiente está hospedado em servidores em nuvem, podem existir camadas adicionais de firewall além do sistema operacional, como a camada de segurança fornecida pelo próprio provedor de nuvem. Nesses casos, também é necessário acessar o painel de controle do provedor e configurar as regras de entrada para liberar as portas desejadas.