Publicar validacao.cajutech.dev

Passo-a-passo para colocar a aplicação Validação no ar. Requer acesso sudo na VPS e acesso ao painel DNS de cajutech.dev.


1. DNS

No painel DNS de cajutech.dev, criar:

Tipo Nome Valor
A validacao <IP da VPS>

Aguardar propagação (geralmente minutos):

dig +short validacao.cajutech.dev

2. Expandir certificado Let's Encrypt

O cert atual em /etc/letsencrypt/live/cajutech.dev/ cobre vários subdomínios. Vamos adicionar validacao à mesma SAN list, reaproveitando o mesmo certificado.

Verificar nomes que o cert já cobre:

sudo openssl x509 -in /etc/letsencrypt/live/cajutech.dev/fullchain.pem -noout -text \
  | grep -A1 "Subject Alternative Name"

Expandir incluindo validacao.cajutech.dev (mantenha todos os domínios atuais + o novo):

sudo certbot certonly --webroot -w /var/www/html --expand \
  -d cajutech.dev -d www.cajutech.dev \
  -d portainer.cajutech.dev -d crons.cajutech.dev \
  -d staging.cajutech.dev -d storage.cajutech.dev \
  -d socket.cajutech.dev -d segin.cajutech.dev \
  -d factory.cajutech.dev -d vscode.cajutech.dev \
  -d ponto.cajutech.dev -d pontopesquisa.cajutech.dev \
  -d pontoapi.cajutech.dev -d pontopesquisaapi.cajutech.dev \
  -d validacao.cajutech.dev

O bloco catch-all em /etc/nginx/sites-enabled/default (linhas 15-27) já roteia /.well-known/acme-challenge/ para /var/www/html, então o desafio HTTP-01 passa sem mudar nada no nginx antes.


3. Nginx

3.1 Adicionar validacao.cajutech.dev ao redirect HTTP→HTTPS

Em /etc/nginx/sites-enabled/default, no bloco que começa em linha 32 (# Port 80 — redireciona todos os subdomínios conhecidos para HTTPS), incluir o novo nome na lista server_name:

     server_name cajutech.dev www.cajutech.dev
                 portainer.cajutech.dev crons.cajutech.dev
                 staging.cajutech.dev storage.cajutech.dev
                 socket.cajutech.dev segin.cajutech.dev
                 factory.cajutech.dev vscode.cajutech.dev
                 ponto.cajutech.dev pontopesquisa.cajutech.dev
-                pontoapi.cajutech.dev pontopesquisaapi.cajutech.dev;
+                pontoapi.cajutech.dev pontopesquisaapi.cajutech.dev
+                validacao.cajutech.dev;

3.2 Adicionar o vhost HTTPS

Anexar ao final de /etc/nginx/sites-enabled/default:

# -----------------------------------------------------------------------------
# validacao.cajutech.dev  →  static /var/www/html/validacao
# -----------------------------------------------------------------------------
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name validacao.cajutech.dev;

    ssl_certificate     /etc/letsencrypt/live/cajutech.dev/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cajutech.dev/privkey.pem;
    include             /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;

    root  /var/www/html/validacao;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

3.3 Validar e recarregar

sudo nginx -t
sudo systemctl reload nginx

4. Verificar

curl -I https://validacao.cajutech.dev
# esperado: HTTP/1.1 200 OK

Abrir no navegador: https://validacao.cajutech.dev