nginx com --with-libatomic no ARM perde atualizações e passa a recusar visitantes
Em 14 de outubro de 2026, um nginx de produção num servidor ARM passou a recusar todo visitante novo com o erro 429. A causa é a opção de compilação --with-libatomic. O teste, o patch e a correção estão no GitHub.
Fonte: nginx --with-libatomic on aarch64: the shared-memory lock loses updates (github.com). Texto preparado com IA a partir dessa fonte.
O que aconteceu e o que fazer
Em 14 de outubro de 2026, um nginx 1.30.5 num servidor ARM (Ampere Altra) passou a recusar todo visitante novo com o erro 429. A causa é a opção de compilação --with-libatomic. No ARM, ela deixa sem barreira de memória o cadeado que protege a memória compartilhada do nginx. Dois workers perdem atualizações, e um registro da zona do limit_req fica preso. A zona para de apagar registros antigos, enche e passa a recusar todo endereço novo. Num teste com 10 milhões de atualizações no mesmo processador, a opção perdeu 69.320; sem ela, nenhuma.
Se o seu nginx roda em ARM (AWS Graviton, Ampere), rode nginx -V. Se aparecer --with-libatomic, compile o nginx sem a opção ou aplique o patch do repositório wrpbr/nginx-libatomic-aarch64. Depois, recrie as zonas de memória compartilhada. Servidores Intel e AMD não são afetados.
Como a consultoria pode ajudar
A Wendelmaques pode revisar a compilação e a configuração do nginx e de outros servidores de borda, montar alarmes que avisam quando visitantes são recusados e trocar o servidor de borda sem recusar conexão.
Próximo passo
Envie a saída de nginx -V e a arquitetura do servidor para receber uma avaliação com escopo definido.
Vamos avaliar seu projeto

Respondo com escopo e proposta.