Tutoriais

Como hospedar uma API REST no seu VPS

Como hospedar uma API REST no seu VPS

APIs alimentam apps mobile, front-ends em React/Vue, integrações e automações. Hospedá-las em um VPS dá controle total sobre desempenho, custos e segurança. Veja as boas práticas, independentemente da linguagem.

Arquitetura recomendada

Cliente → Nginx (HTTPS, rate limit, CORS) → Aplicação (127.0.0.1:porta) → Banco de dados / Redis
  • A aplicação escuta apenas no localhost;
  • O Nginx recebe as conexões públicas, termina o TLS e repassa as requisições;
  • Banco de dados e Redis nunca expostos à internet.

1. Mantenha a aplicação sempre no ar

Use um gerenciador de processos:

  • Node.js: PM2 ou systemd;
  • Python: Gunicorn/Uvicorn + systemd;
  • PHP: PHP-FPM;
  • Go/Rust/Java: binário/JAR como serviço systemd;
  • Qualquer linguagem: Docker com restart: unless-stopped.

2. Nginx como proxy reverso

limit_req_zone $binary_remote_addr zone=api:10m rate=20r/s;

server {
    listen 443 ssl;
    http2 on;
    server_name api.seudominio.com.br;

    # certificados configurados pelo Certbot

    client_max_body_size 10M;

    location / {
        limit_req zone=api burst=40 nodelay;

        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 60s;
    }
}

Em versões do Nginx anteriores à 1.25.1, use listen 443 ssl http2; no lugar da diretiva http2 on;.

3. HTTPS obrigatório

Emita o certificado com o Certbot e redirecione HTTP para HTTPS. Tokens e dados nunca devem trafegar sem criptografia.

4. CORS configurado corretamente

Se a API é consumida por um front-end em outro domínio, permita apenas as origens necessárias (nunca * em APIs autenticadas com cookies). Configure na aplicação ou no Nginx.

5. Autenticação e segurança

  • Tokens (JWT, OAuth) ou chaves de API com escopo e expiração;
  • Validação rigorosa de entrada;
  • Rate limiting — no Nginx e/ou na aplicação;
  • Mensagens de erro sem detalhes internos em produção;
  • Segredos em variáveis de ambiente, nunca no código.

6. Logs estruturados

Registre requisições em formato JSON com método, rota, status, tempo de resposta e um ID de requisição. Isso facilita rastrear problemas e integrar com ferramentas de análise.

7. Healthcheck

Crie uma rota como GET /health que verifique a aplicação e suas dependências. Use-a para monitoramento externo (Uptime Kuma, por exemplo).

8. Desempenho

  • Cache de respostas frequentes no Redis;
  • Pool de conexões com o banco;
  • Índices nas consultas mais usadas;
  • Paginação em listagens;
  • Compressão (gzip/brotli) de respostas JSON;
  • Disco NVMe para o banco e servidor perto dos usuários para menor latência — essencial para apps mobile no Brasil.

9. Versionamento

Use prefixos como /v1/ para evoluir a API sem quebrar clientes existentes.

10. Escalando

Quando um servidor não bastar:

  1. Faça upgrade vertical (mais vCPU/RAM);
  2. Separe o banco de dados em outro VPS;
  3. Coloque várias instâncias da API atrás de um balanceador (Nginx, HAProxy).

Conclusão

Uma API bem hospedada é rápida, segura e fácil de manter. Coloque a sua em um VPS-NVME-BR da VittHost, com NVMe e servidores no Brasil para respostas com baixa latência.Use o cupom SP-VITT20 e ganhe 20% de desconto na primeira fatura enquanto a promoção estiver ativa.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS