Ir para o conteúdo

Expor uma Container App por HTTPS

Uma Fleet é um conjunto de recursos dedicado onde podes implementar várias coisas: servidores de jogos, bases de dados e Container Apps (qualquer imagem Docker que queiras correr, com a sua própria atribuição de CPU/RAM). Este guia cobre a parte onde as pessoas ficam presas: conseguir que uma Container App fique acessível por HTTPS num domínio a sério, não só num endereço interno.

As três formas de expor uma Container App

Quando adicionas uma Container App à tua fleet e ativas Expor por HTTPS, o assistente de configuração pergunta-te como queres que o endereço público funcione. Há três modos:

Modo O que obténs Esforço de configuração
Subdomínio gratuito da plataforma Um endereço gratuito *.zaroz.cloud com certificado automático Nenhum, sem DNS a mexer
O teu próprio domínio (validação HTTP) HTTPS num domínio teu, certificado emitido por desafio HTTP Adiciona um registo DNS, verificado em direto no assistente
O teu próprio domínio (Cloudflare DNS) HTTPS num domínio teu, funciona mesmo atrás do proxy da Cloudflare Precisas de uma conta Cloudflare e de um token de API limitado

Se só quiseres ter algo online depressa sem mexer em DNS, escolhe Subdomínio gratuito da plataforma e passa à frente o resto deste guia, não há mais nada a configurar. Os outros dois modos são para quando precisas do teu próprio domínio.

Opção A: o teu próprio domínio, validação HTTP

É a forma mais simples de usar um domínio teu, desde que esse domínio não esteja atrás de um proxy (vê a Opção B se estiver).

Passo 1: escolhe o modo e introduz o teu domínio

No assistente de configuração, seleciona O teu próprio domínio (validação HTTP), depois introduz o domínio no ecrã seguinte, por exemplo app.exemplo.com. Só o nome do host, não um URL completo.

Passo 2: aponta o DNS do teu domínio

Tal como nos nossos outros produtos baseados em domínio, o assistente mostra-te o IP exato para onde apontar e deixa-te verificar antes de avançar:

  1. O assistente mostra um IP público, por exemplo 188.213.7.49. É o ingress que termina o tráfego HTTPS da tua app.
  2. Entra no teu registador (ou onde giras o DNS do teu domínio) e adiciona um registo A para o teu domínio a apontar para esse IP.
  3. De volta ao assistente, clica em Verificar DNS agora. Faz uma consulta em direto e diz-te se corresponde, se encontrou outra coisa, ou se ainda não resolve nada.
;; assim é que um registo bem configurado se parece
app.exemplo.com.   300   IN   A   188.213.7.49

Assim que a verificação passar (ou se tiveres a certeza de que a propagação ainda não chegou e clicares em Continuar mesmo assim), avança para confirmar a configuração da tua Container App.

Não ponhas este domínio atrás do proxy da Cloudflare

A validação HTTP precisa de chegar diretamente ao teu domínio para emitir o certificado. Se o domínio estiver com proxy da Cloudflare (o ícone da nuvem laranja), a emissão do certificado vai falhar. Se quiseres manter o domínio atrás do proxy da Cloudflare, usa antes a Opção B, está feita mesmo para esse caso. Se a nossa verificação de DNS em direto reparar que o domínio resolve atualmente para um IP da Cloudflare, assinala isso especificamente em vez de um erro genérico.

Erros comuns

  • Os mesmos erros que na configuração de DNS do WordPress: zona DNS errada, atraso na propagação, escrever um URL em vez de um host à parte. Vê Configura o teu site WordPress para o resumo completo, o passo de DNS por baixo funciona exatamente da mesma forma aqui.
  • Não aparece nenhum IP / erro "não configurado". Significa que o cluster onde a tua fleet caiu ainda não tem o IP de ingress configurado do nosso lado. Contacta o suporte, não é nada da tua parte.

Opção B: o teu próprio domínio, Cloudflare DNS

Usa isto quando quiseres manter o teu domínio atrás do proxy da Cloudflare (nuvem laranja), ou quando preferires não mexer em registos DNS à mão.

Passo 1: escolhe o modo e introduz os teus dados

Seleciona O teu próprio domínio (Cloudflare DNS). No ecrã seguinte vais precisar de:

  • Domínio — o domínio que queres usar, p. ex. app.exemplo.com.
  • E-mail da conta Cloudflare — o e-mail da conta Cloudflare que gere o DNS deste domínio.
  • Token de API da Cloudflare — um token com permissão Zone:DNS:Edit limitado a esse domínio.

Cria um token limitado, não uses a tua Global API Key

No painel da Cloudflare, vai a My Profile → API Tokens → Create Token, e usa o modelo Edit zone DNS limitado só ao domínio que estás a usar aqui. Não uses a tua Global API Key de toda a conta, um token limitado que seja exposto só consegue mexer no DNS de uma zona; uma Global Key exposta consegue mexer em toda a tua conta Cloudflare.

Passo 2: é só isso

Ao contrário do modo de validação HTTP, aqui não há nenhum registo DNS para adicionares ou verificares. Nós criamos e gerimos o registo DNS automaticamente usando o token de API, e o certificado é emitido através do desafio de DNS da Cloudflare, que também funciona com o domínio com proxy.

Confirma e termina

Seja qual for o modo escolhido, o ecrã de confirmação resume a tua imagem, a porta, o modo de exposição e o domínio (se aplicável). Assim que confirmares, a app é implementada e, nos modos baseados em domínio, a emissão do certificado segue-se pouco depois de o DNS ficar confirmado em direto.

Perguntas frequentes

Posso mudar de modo mais tarde?

Sim, volta a abrir a configuração da tua Container App e repete os passos de HTTPS. Se saíres do modo Cloudflare DNS, isso não apaga o registo DNS que a Cloudflare criou; apaga-o tu próprio se já não o quiseres.

Por que é que a validação HTTP precisa de um registo A à parte, mas o modo Cloudflare não?

Usam tipos de desafio ACME diferentes. A validação HTTP prova que controlas o domínio ao servir um ficheiro num URL específico na porta 80, por isso a autoridade de certificação precisa de chegar diretamente ao teu servidor, daí não poder haver proxy pelo meio. O desafio de DNS da Cloudflare prova o controlo criando antes um registo TXT via API, o que não depende de o tráfego HTTP para o domínio estar ou não com proxy.

O meu token de API deixou de funcionar depois de confirmar a configuração.

Os tokens de API da Cloudflare podem expirar ou ser revogados independentemente da Zaroz. Se a renovação do certificado começar a falhar, gera um token limitado novo no painel da Cloudflare e atualiza-o nas definições HTTPS da tua Container App.

Isto aplica-se só a Container Apps, ou também a servidores de jogos?

Este guia é específico para Container Apps. Os servidores de jogos e outros membros da fleet usam mecanismos de exposição diferentes (portas, registos SRV) cobertos na documentação de cada produto; vê o guia do WordPress ou a secção do FiveM para isso.