Hospedagem Estática com Caddy
O Caddy serve a árvore estática construída com TLS automático. O repositório embarca um exemplo de Caddyfile (deploy/chinaski.Caddyfile.example) que você copia e edita por deployment, o Caddy não tem templing de instância, então o site de cada instância precisa de seu próprio domínio, endereço de upstream do CMS, caminhos de saída e quaisquer subdomínios de idioma.
O essencial no exemplo embarcado
- Instâncias de site e portas: instância “1” → 3001, “2” → 3002 … (sempre correspondendo ao LISTEN_URL de)
/etc/chinaski<N>/env(loopback, para que clientes nunca falem com o daemon do CMS diretamente). - Rotas de venda obrigatórias mesmo em um site estático: reverse-proxy de
/forms/*e/documents/*para o daemon do CMS (senão submissões de formulário dão 404 e URLs de documentos dão 404). - Caminhos de honeypot (
/.env,/.git/config, sondagens wp-login etc.): roteados através ao CMS para que os acessos sejam registrados e tarpitted em vez de respondidos com um 404 estático genérico. - Headers X-Forwarded-For/Proto/Host explícitos nos blocos de proxy, o checklist de produção os destaca para que o app veja IPs reais de clientes; o proxy pelo loopback é confiável por padrão, então nenhuma
CHINASKI_TRUSTED_PROXIESé necessária, a menos que seu salto passe por uma bridge de contêiner. - Headers de cache (mesmo do exemplo nginx): HTML revalidação de 5 min;
sw.jsno-cache; fontes woff2 1 ano imutável; outros assets 86400. - Headers de segurança cinto-e-suspensório na configuração do proxy (o app também define os seus).
Múltiplas instâncias
Copie o exemplo por instância e ajuste: a lista de domínios de cada bloco de site (admin + vhosts de idioma), a porta de upstream (3001 para a instância 1, 3002 para a instância 2, e assim por diante) e os caminhos de document root por idioma (/var/www/chinaski1/output/en para inglês, …/es para espanhol, etc.).
TLS
O Caddy obtém e renova o TLS automaticamente quando o DNS aponta para o host e as portas 80/443 estão acessíveis (verifique com um)curl -I https://<admin-host> assim que o Caddyfile estiver no ar.