Domínios Personalizados
Conecte seus próprios nomes de domínio às aplicações sh0 com certificados SSL automáticos e configuração sem tempo de inatividade.
Adicionando um Domínio
Toda aplicação implantada no sh0 recebe um subdomínio padrão sob *.sh0.app. Para usar seu próprio domínio, navegue até as configurações da sua aplicação e adicione-o pelo painel de Domínios.
- Abra o Painel e selecione sua aplicação.
- Navegue até Configurações → Domínios.
- Clique em Adicionar Domínio e insira o nome do seu domínio (ex.:
example.com). - O sh0 exibirá os registros DNS necessários para configurar no seu registrador.
example.com) quanto subdomínios (app.example.com). O sh0 lida com ambos de forma transparente.Configuração de DNS
Após adicionar um domínio no painel, você precisa configurar registros DNS no seu registrador de domínios (Cloudflare, Namecheap, GoDaddy, etc.). O sh0 suporta tanto registros A quanto registros CNAME.
Configuração de Registro A
Use um registro A para domínios raiz. Aponte-o para o endereço IP do seu servidor sh0:
Type: A
Name: @
Value: YOUR_SERVER_IP
TTL: 3600 (or Auto)Configuração de CNAME
Use um registro CNAME para subdomínios. Aponte-o para o hostname do seu servidor sh0:
Type: CNAME
Name: app
Value: your-server.example.com
TTL: 3600 (or Auto)Verificação de Domínio
O sh0 verifica automaticamente a propriedade do domínio verificando registros DNS. O processo de verificação funciona da seguinte forma:
- O sh0 gera um token de verificação único para seu domínio.
- Você adiciona o registro DNS conforme exibido no painel.
- O sh0 verifica periodicamente o registro (a cada 30 segundos).
- Uma vez verificado, o sh0 provisiona um certificado SSL e roteia o tráfego para sua aplicação.
Você também pode acionar uma verificação manual via API:
curl -X POST https://your-server:9000/api/domains/verify \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '[object Object]'SSL Automático via Let's Encrypt
O sh0 usa o Caddy como proxy reverso, que obtém e renova automaticamente certificados SSL do Let's Encrypt. Não há nada para configurar -- uma vez que seu domínio é verificado:
- Um certificado HTTPS é provisionado em segundos.
- Tráfego HTTP é automaticamente redirecionado para HTTPS.
- Certificados são renovados automaticamente antes de expirar (a cada 60 dias).
- Certificados RSA e ECDSA são suportados.
Domínios Wildcard
Domínios wildcard permitem rotear todos os subdomínios de um domínio para uma única aplicação. Isso é útil para aplicações multi-tenant onde cada cliente recebe seu próprio subdomínio.
Type: A
Name: *
Value: YOUR_SERVER_IP
TTL: 3600No painel do sh0, adicione o domínio wildcard como *.example.com. Sua aplicação receberá o hostname completo nos cabeçalhos da requisição e poderá rotear adequadamente.
Indicadores de Status do Domínio
O painel mostra um badge de status para cada domínio. Veja o que cada status significa:
| Status | Descrição |
|---|---|
| Pendente | Registros DNS ainda não foram detectados. |
| Verificando | Registros DNS detectados, certificado SSL sendo provisionado. |
| Ativo | Domínio verificado, SSL ativo, tráfego sendo roteado. |
| Erro | Provisionamento de SSL falhou ou registros DNS estão mal configurados. |
Solucionando Problemas de DNS
Se seu domínio está preso no status Pendente ou Erro, tente estes passos:
Verifique seus registros DNS localmente:
dig example.com +short
dig CNAME app.example.com +shortVerifique se seu servidor está acessível nas portas 80 e 443:
curl -I http://YOUR_SERVER_IP
curl -I https://YOUR_SERVER_IPProblemas comuns e soluções:
- DNS não propagado: Aguarde até 48 horas ou use um valor de TTL menor.
- Firewall bloqueando portas 80/443: Garanta que o firewall do seu servidor permita tráfego HTTP e HTTPS de entrada.
- Interferência do proxy Cloudflare: Mude para o modo somente DNS (nuvem cinza) ou configure SSL Full (Strict) no Cloudflare.
- Endereço IP incorreto: Verifique o IP público do seu servidor com
curl ifconfig.me. - Limite de taxa: O Let's Encrypt tem limites de taxa (50 certificados por domínio por semana). Se você os atingir, aguarde ou use um certificado de staging.