CL-2026-03-11-BK-117 · Compatibilidade Lua do Nginx administrativo da VPS
- Status: (V) conferido e aprovado
- Escopo: plataforma
- Projetos afetados: cerebro, legalizarj, rionoteatro, seuimovel
- BK relacionado: BK-117
- Aprovacao humana obrigatoria: sim
- Data: 2026-03-11
- Autor: Codex (GeJoRei-VPS)
- revisor_ia: auto-revisao
Resumo
Concluida a normalizacao da compatibilidade Lua no Nginx do Ubuntu usado para administracao da VPS. O erro de nginx -t vinha do binario /usr/sbin/nginx, que lia os vhosts gerados pelo aaPanel sem ter os modulos Lua carregados. Os sites em producao continuavam atendidos por outro binario, /www/server/nginx/sbin/nginx, ja compatível com Lua. A correcao instalou os modulos ndk/http_lua no Nginx do Ubuntu, recolocou no /etc/nginx/nginx.conf apenas a inicializacao Lua minima esperada pelos vhosts e manteve o Nginx ativo do aaPanel inalterado.
Contexto
- O erro inicial era
unknown directive "set_by_lua_block"em/www/server/panel/vhost/nginx/well-known/cerebro.seuimovel.rio.br.conf. - A investigacao encontrou outros arquivos com diretivas Lua, incluindo
access_by_lua_blockem/www/server/panel/vhost/nginx/rionoteatro.com.br.conf, usado para controle de acesso por pais. - O processo realmente escutando
80/443no host era/www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf, iniciado fora da unitnginx.servicedo Ubuntu. - A unit
nginx.servicedo Ubuntu estava desabilitada/inativa; o seunginx -tfalhava apenas por incompatibilidade do binario/configuracao administrativa com os snippets Lua compartilhados do aaPanel.
Entregas Tecnicas
1) Separacao clara entre Nginx de runtime e Nginx administrativo
- Confirmado que o reverse proxy ativo dos projetos e o Nginx do aaPanel em
/www/server/nginx/sbin/nginx. - Confirmado que
nginx.servicedo Ubuntu esta inativo e nao e o processo que atende os sites. - Identificado tambem um
nginx -g daemon offpertencente a container Docker, sem relacao com o reverse proxy do host.
2) Restauracao da compatibilidade Lua no caminho administrativo
- Instalados
libnginx-mod-http-ndkelibnginx-mod-http-luano Nginx do Ubuntu. - Dependencias adicionadas automaticamente:
lua-resty-core,lua-resty-lrucacheelibluajit2-5.1-2. - Mantido
lua-mmdb, que ja estava presente no host. - Adicionados ao
/etc/nginx/nginx.conf: lua_package_pathlua_package_cpathinit_by_lua_blockcom carga defensiva do modulommdbe abertura do banco/etc/nginx/geoip/dbip-country-lite.mmdb- Nenhum vhost de projeto foi alterado.
3) Validacao objetiva
nginx -tpassou a retornarsyntax is oketest is successfulno Nginx do Ubuntu./www/server/nginx/sbin/nginx -t -c /www/server/nginx/conf/nginx.confpermaneceu valido no Nginx ativo do aaPanel.curl -skI --resolve cerebro.seuimovel.rio.br:443:127.0.0.1 https://cerebro.seuimovel.rio.br/retornouHTTP/2 200.curl -skI --resolve legalizarj.com.br:443:127.0.0.1 https://legalizarj.com.br/retornouHTTP/2 200.curl -skI --resolve rionoteatro.com.br:443:127.0.0.1 https://rionoteatro.com.br/retornouHTTP/2 200.
4) Backup e rollback
- Backup versionado da intervencao em
/root/cerebro/backups/system/2026-03-11-bk117-nginx-lua-compat/. - Rollback disponivel em
/root/cerebro/backups/system/2026-03-11-bk117-nginx-lua-compat/rollback.sh. - Evidencias salvas:
state/nginx-t.pre.txtstate/nginx-t.postinstall.txtstate/aapanel-nginx-t.txtfiles/nginx.conf.pre
Riscos Residuais
- O host continua com dois planos distintos de Nginx: o runtime real do aaPanel e o Nginx do Ubuntu usado para validacao/administracao. Isso ficou documentado, mas a duplicidade operacional continua existindo.
- O
nginx.servicedo Ubuntu nao deve ser usado para subir o proxy do host sem revisao previa, porque o trafego real continua concentrado no stack do aaPanel. - A correcao elimina o falso negativo de
nginx -tno caminho administrativo, mas nao substitui uma futura decisao arquitetural de consolidar ou remover um dos dois Nginx do host.