Hypnotoad: A Configuração Embarcada
O repositório embarca install/hypnotoad.conf, pré-configurado para deployments offline/EOTW/LAN: o modo “servidor único, HTTP puro”:
listen => ['http://0.0.0.0:8080'],
workers => 2,
graceful_timeout => 20,
pid_file => 'hypnotoad.pid',Os comentários da configuração carregam três guias importantes:
- Escolha do bind:
0.0.0.0:8080está bem onde a máquina é o ponto de acesso (LAN, ponto-a-ponto, instalações offline); use um endereço específico de NIC (por exemplo192.168.1.5:8080) para limitar qual rede pode alcançar o admin. - A postura de segurança sem proxy: o CMS lê o endereço TCP real do par nas conexões não-loopback e ignora o
X-Forwarded-Forinteiro: de modo que rate limiting e bloqueios de login funcionam sem configuração. Porém: não há TLS neste modo, então as credenciais são transmitidas em claro; a configuração recomenda explicitamente uma VPN ou acesso delimitado por firewall em redes que não são confiáveis. - Vars antes de iniciar:
CHINASKI_SECRET=<segredo>e (para offline)CHINASKI_AIRGAP=1no ambiente quando você executahypnotoad cms.pl.
O gêmeo no app (CHINASKI_LISTEN / CHINASKI_WORKERS)
As mesmas configurações são ajustáveis no caminho de código da aplicação: CHINASKI_LISTEN (padrão http://127.0.0.1:8080) define o endereço de escuta para uma execução de hypnotoad sem config de arquivo, e CHINASKI_WORKERS (padrão 2) define a contagem de workers. Quando você executa sem um arquivo de configuração (a receita EOTW padrão), essas variáveis de env são a interface.
O que vem no barco, o que faz
workers: quantos workers de construção de página respondem às requisições (é um parâmetro de prefork do Mojolicious, distinto dos workers de renderizaçãoCHINASKI_JOBSdo builder do site).graceful_timeout: o limite de esvaziamento em cada reload USR2.pid_file: onde o PID do master é armazenado (usado para reloads sem downtime e parada graciosas).