Como configurar rate limiting no Nginx para proteger contra abuso de API imprimir

  • 0

Como configurar rate limiting no Nginx para proteger contra abuso de API

Olá, querido(a) cliente da GeHost! 🌟

Se você está desenvolvendo uma API ou tem um serviço web acessado por clientes, é natural se preocupar com abusos — como tentativas excessivas de acesso, scripts maliciosos ou ataques de força bruta. Felizmente, o Nginx, o servidor de alto desempenho que roda na sua hospedagem, tem uma funcionalidade poderosa chamada rate limiting (limitação de taxa) que pode te ajudar a proteger seu sistema com apenas algumas configurações simples.

Como seu Sensei da GeHost, vou te guiar com calma, passo a passo, como ativar esse recurso diretamente no painel do cPanel — sem precisar de acesso root ou conhecimentos avançados de servidor. Vamos lá?

Passo 1: Acesse o Painel do cPanel

Para começar, faça login no seu painel de controle da GeHost:

Tela de login do cPanel com campos Usuário e Senha

Insira suas credenciais (usuário e senha) e clique em Log in.

Passo 2: Acesse o Editor de Arquivos do Nginx (via Configurações Avançadas)

Após entrar no cPanel, procure pela ferramenta chamada “Configurações Avançadas” ou “Configuração do Servidor”. Ela pode estar em uma seção como “Servidor” ou “Segurança”.

Se você não encontrar diretamente, clique em “Mais Ferramentas” e procure por “Configurações do Nginx” ou “Arquivo de Configuração”.

Dica do Sensei: Se não vir a opção, é possível que seu plano não permita edição direta de arquivos de configuração. Nesse caso, entre em contato com nosso suporte — estamos aqui para te ajudar com carinho!

Passo 3: Edite o arquivo de configuração do Nginx

Quando encontrar o editor, procure por um arquivo chamado nginx.conf ou nginx_custom.conf. Ele geralmente está dentro da pasta /etc/nginx/ ou em uma área de “configuração personalizada”.

Se estiver editando via cPanel, você pode encontrar um botão como “Editar” ou “Visualizar” ao lado do arquivo.

Passo 4: Adicione as diretivas de rate limiting

Abra o arquivo e insira o seguinte bloco de código dentro do bloco http { ... } — ele define regras de limitação para requisições:

# Definindo uma zona de limitação para IP
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

# Aplicando o limite a uma rota específica da sua API
server {
    location /api/ {
        limit_req zone=api burst=20 nodelay;
        # Aqui você pode adicionar outras configurações, como proxy para sua API
        proxy_pass http://127.0.0.1:3000; # Exemplo: sua aplicação Node.js
    }
}

O que isso significa?

  • 10r/s: permite até 10 requisições por segundo por IP.
  • burst=20: permite um “acúmulo” temporário de até 20 requisições extras, caso o tráfego venha em picos.
  • nodelay: não atrasa requisições extras — elas são processadas imediatamente, mas depois o limite é aplicado.

Se você tem uma API em https://seudominio.com.br/api, esse bloco vai proteger exatamente essa rota.

Passo 5: Salve e reinicie o Nginx

Após colar o código, clique em “Salvar” ou “Aplicar”.

Depois disso, é necessário reiniciar o Nginx para que as alterações entrem em vigor. No cPanel, você pode encontrar um botão como “Reiniciar Nginx” ou “Recarregar Servidor”.

Dica do Sensei: Se não conseguir reiniciar via painel, peça ao suporte da GeHost — estamos aqui para garantir que tudo funcione perfeito, com um sorriso no rosto!

Passo 6: Teste sua proteção (com cuidado!)

Para testar se o rate limiting está funcionando:

  • Use uma ferramenta como curl ou Postman para enviar várias requisições em sequência para a rota /api.
  • Se o limite for ultrapassado, você verá respostas com código 429 Too Many Requests.

Isso é um sinal de que o sistema está funcionando! 🎉

Quer ir além? Use configurações personalizadas por rota

Você pode definir regras diferentes para diferentes partes da sua API. Por exemplo:

  • Rotas públicas: 50 requisições por minuto.
  • Rotas de login: 5 requisições por minuto (para evitar tentativas de força bruta).
  • Rotas administrativas: apenas acesso por IP específico.

É só criar zonas diferentes e aplicar cada uma onde for necessário.

Atenção do Sensei: Sempre faça testes em ambiente de desenvolvimento antes de aplicar em produção. E lembre-se: se algo não funcionar como esperado, entre em contato com nosso suporte — estamos aqui para te ajudar, sempre com paciência e carinho.

Conclusão

Configurar rate limiting no Nginx é uma das formas mais eficazes de proteger sua API contra abusos, sem precisar de ferramentas complexas ou custos extras. Com apenas algumas linhas de código, você ganha controle sobre o tráfego e protege seu sistema.

Se precisar de ajuda com a configuração, ou quiser que nosso time te auxilie com um exemplo específico do seu caso, é só chamar. Estamos aqui para te apoiar — como um verdadeiro parceiro na jornada do seu projeto.

Com carinho,
Seu Sensei da GeHost 🌿

GeHost — hospedagem segura, simples e feita com amor.
Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)


Esta resposta lhe foi útil?

« Retornar