Módulo 3 · 3.3
Subdomínios e wildcards
Módulo 3: Registos para o seu website · Tempo de leitura: 7 minutos
Objetivo de aprendizagem: Depois desta lição, saberá criar um subdomínio através do DNS e explicar como funciona um wildcard e onde este não se aplica.
Conceitos-chave: subdomínio, wildcard (*), "um nome existente vence", wildcard e níveis mais profundos, subdomínio no painel de hosting versus apenas um registo DNS
O que é um subdomínio?
Um subdomínio é um nome colocado antes do seu domínio: shop.example.com, blog.example.com, mail.example.com. Também www.example.com é, tecnicamente, apenas um subdomínio. Não precisa de registar nem pagar nada por isso: quem tem o domínio example.com pode criar por baixo dele tantos nomes quantos quiser. Um subdomínio surge ao criar um registo para ele.
Um subdomínio também pode ter vários níveis de profundidade: test.shop.example.com é perfeitamente válido. Cada parte entre pontos pode ter, no máximo, 63 caracteres, e o nome completo, no máximo, 253 caracteres.
Dois tipos de subdomínios
Na prática, "criar um subdomínio" pode significar duas coisas diferentes, o que confunde muitas pessoas.
1. Apenas um registo DNS. Cria na DNS um registo A, AAAA ou CNAME para shop. Com isso, o mundo sabe onde está shop.example.com. Se este apontar para um serviço externo, como uma plataforma de loja online, está feito: esse serviço trata do website.
shop.example.com. 3600 IN CNAME shops.platform.example.2. Um subdomínio no painel de hosting. Num painel de hosting também pode criar um subdomínio. Nesse caso, acontecem duas coisas: o painel coloca (se a DNS for gerida aí) um registo na DNS, e configura o servidor web com uma pasta própria para os ficheiros desse subdomínio. Isto é necessário quando o website do subdomínio vai ficar alojado na sua própria hospedagem, por exemplo um segundo WordPress em blog.example.com.
Duas armadilhas:
- Se a sua DNS for gerida noutro local que não a sua hospedagem (outros servidores de nomes, ver lição 2.1), o painel coloca o registo num sítio que ninguém consulta. Nesse caso, crie o registo diretamente junto da entidade que gere a DNS.
- Se quiser que um subdomínio aponte para um serviço externo, não o crie no painel de hosting, mas apenas como registo DNS. Caso contrário, acaba com dois registos para o mesmo nome que entram em conflito.
O wildcard: um registo para todos os nomes
Um wildcard é um registo com um asterisco como nome:
*.example.com. 3600 IN A 192.0.2.10Isto significa: "qualquer nome por baixo de example.com que não esteja de outra forma na zona, aponta para 192.0.2.10". Se alguém consultar blog.example.com, test.example.com ou wat-dan-ook.example.com, e esse nome não existir separadamente, a DNS devolve a resposta do wildcard.
Muitos pacotes de hosting colocam um wildcard por predefinição. Assim, um novo subdomínio criado no painel de hosting funciona de imediato, sem ser necessário um registo separado para cada nome. Também www funciona então automaticamente.
Onde um wildcard não se aplica
As regras para wildcards estão descritas na RFC 4592. Há três aspetos importantes a conhecer.
Um nome existente vence. Se existir um registo próprio para shop.example.com, o wildcard não é utilizado para esse nome. Também não para outros tipos de registo: se shop tiver apenas um CNAME, o wildcard deixa de dar também um registo A para shop. Um wildcard é, portanto, uma rede de segurança para nomes que não existem de todo.
*.example.com. A 192.0.2.10
www.example.com. CNAME shops.platform.example.Aqui, blog.example.com vai para 192.0.2.10, mas www.example.com vai para a plataforma.
Um wildcard não se aplica ao domínio raiz (apex). *.example.com não abrange example.com propriamente dito. Para isso, precisa de um registo próprio.
Um wildcard não se aplica por baixo de um nome que existe. Se shop.example.com existir, *.example.com não abrange o nome test.shop.example.com. O wildcard só funciona para nomes cujo "caminho" completo não exista. Se shop não existir, test.shop.example.com fica sim abrangido pelo wildcard. Se quiser um wildcard por baixo de shop, crie *.shop.example.com.
Um wildcard, certificados e erros de digitação
Um wildcard na DNS apenas indica para onde um nome aponta. Tenha atenção a dois aspetos:
- Um certificado. Para ter https em qualquer subdomínio, precisa de um certificado que cubra esses nomes. Um certificado wildcard (
*.example.com) é algo diferente de um registo wildcard, e é pedido separadamente. O Let's Encrypt só emite certificados wildcard através de uma verificação na DNS. - Erros de digitação. Com um wildcard, também funcionam
ww.example.comouwwww.example.com. Isso pode ser útil, mas também significa que qualquer nome imaginável dá resposta. Alguns administradores preferem evitar isso.
Na prática: como se apresenta num painel
Como exemplo, usamos o DirectAdmin. Outros painéis (cPanel, Plesk) têm um ecrã semelhante para subdomínios.
- Abra Gerenciar Subdomínios e clique em Adicionar Subdomínio.
- Digite apenas a primeira parte, por exemplo
shop. - Escolha a pasta para os ficheiros, ou mantenha a predefinição.
- Guarde.
Se quiser que o subdomínio aponte para um serviço externo, salte este ecrã e crie apenas um registo em Administração de DNS (lição 3.1 ou 3.2).
Resumo
- Um subdomínio surge ao criar um registo para ele; não é necessário registá-lo.
- Apenas um registo DNS é suficiente se um serviço externo fornecer o website. Um subdomínio no painel de hosting é necessário se o site ficar alojado na sua própria hospedagem.
- Um wildcard
*.example.comresponde a todos os nomes que, de outra forma, não existam. - Um nome existente vence sempre o wildcard; o wildcard não se aplica ao domínio raiz (apex) nem por baixo de um nome que exista.
- Um registo wildcard não é o mesmo que um certificado wildcard.
Quiz
Exercício
Exercício Z3.3: Descobrir um wildcard. Verifique se github.io utiliza um wildcard. Pesquise o registo A de um nome que, quase de certeza, não existe separadamente, como dnscursus- seguido de algumas letras aleatórias .github.io. Se obtiver um endereço IP como resposta, indique sim e o endereço que recebeu.
Exercício O3.3: Configurar na sua zona de treino. Crie na sua zona de treino:
- um registo wildcard
*(tipo A) com o valor192.0.2.20 - um registo A
vastcom o valor192.0.2.21
O programa verifica depois três nomes: um nome aleatório (que deve dar o wildcard), vast (que deve dar o seu próprio endereço) e o domínio raiz da zona de treino.
Exercício O3.3
Este exercício é feito na sua própria zona de treino: uma zona DNS real nos servidores de nomes da WebOké, só para si. Registe-se com o seu endereço de email. Recebe uma ligação de acesso por email e, de seguida, volta a esta lição. Utilizamos o seu endereço apenas para a finalidade do curso.
Para saber mais
Estes artigos descrevem os passos nos painéis do WebOké; noutros painéis funcionam de forma semelhante.
