reverse-proxy
Configura proxies reversos como Nginx e Traefik para roteamento e SSL.
O que ela faz
Um proxy reverso ajuda a direcionar o tráfego da internet para os seus serviços. Ele também pode proteger seus serviços, gerenciando certificados de segurança (SSL) e controlando quem acessa o quê.
Quando usar
- ✓Quando você tem vários serviços e quer acessá-los por um único endereço.
- ✓Para adicionar uma camada de segurança, como certificados SSL, antes que o tráfego chegue aos seus serviços.
- ✓Para controlar o número de acessos que um serviço recebe, evitando sobrecarga.
Exemplo do que pedir para a IA
“Configure um proxy reverso para que o site 'meuapp.com' direcione para o serviço rodando na porta 3000.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O proxy reverso fica na frente dos seus serviços. Quando alguém acessa seu endereço, o proxy decide para qual serviço enviar a solicitação. Ele também pode verificar e instalar certificados de segurança.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill reverse-proxyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/reverse-proxy/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Proxy Reverso
Configure proxies reversos para rotear tráfego, encerrar TLS, impor limites de taxa e servir como gateway entre clientes e serviços de backend.
Quando Usar
- Roteamento de tráfego de um domínio público para um ou mais serviços de backend.
- Encerrar TLS na borda e encaminhar HTTP simples para os backends.
- Adicionar limitação de taxa, CORS, cabeçalhos de segurança e controle de acesso.
- Consolidar múltiplos serviços sob um único domínio com roteamento baseado em caminho.
- Lidar com atualizações WebSocket, proxy gRPC ou passagem HTTP/2.
Pré-requisitos
- Serviço(s) de backend rodando em host:porta conhecidos.
- Certificado TLS (Let's Encrypt, ACM ou autoassinado para desenvolvimento).
- nginx 1.25+ ou Traefik 3.x instalado.
- Registro DNS apontando o domínio para o servidor proxy.
Proxy Reverso com nginx
Proxy HTTPS Básico com Redirecionamento
# /etc/nginx/sites-available/app.example.com
server {
listen 80;
server_name app.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name app.example.com;
# TLS configuration
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# Security headers
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Frame-Options DENY always;
add_header X-Content-Type-Options nosniff always;
add_header Referrer-Policy strict-origin-when-cross-origin always;
# Proxy to backend
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
# Timeouts
proxy_connect_timeout 5s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
# Buffering
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 4k;
}
}
Roteamento Baseado em Caminho para Múltiplos Serviços
server {
listen 443 ssl http2;
server_name app.example.com;
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
# Frontend SPA
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
# API backend
location /api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 120s;
}
# WebSocket endpoint
location /ws/ {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400s; # 24h for long-lived connections
}
# Static assets with caching
location /static/ {
alias /var/www/static/;
expires 30d;
add_header Cache-Control "public, immutable";
}
}
Limitação de Taxa
# Define rate limit zones in http block
http {
# 10 requests/second per IP
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
# 1 request/second for login
limit_req_zone $binary_remote_addr zone=login_limit:10m rate=1r/s;
# Connection limit per IP
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
}
server {
listen 443 ssl http2;
server_name app.example.com;
# Apply rate limit to API
location /api/ {
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass http://127.0.0.1:8080;
}
# Strict rate limit on auth endpoints
location /api/auth/ {
limit_req zone=login_limit burst=5;
limit_req_status 429;
proxy_pass http://127.0.0.1:8080;
}
# Connection limit
location / {
limit_conn conn_limit 100;
proxy_pass http://127.0.0.1:3000;
}
}
Compressão Gzip e Brotli
http {
gzip on;
…
Perguntas frequentes
O que é SSL/TLS?
É uma tecnologia que criptografa a comunicação entre o usuário e o servidor, garantindo que os dados trocados sejam seguros e privados. O proxy reverso gerencia isso.
O que significa 'rotear tráfego'?
Significa direcionar as requisições que chegam ao proxy para o serviço correto, baseado em regras como o endereço acessado ou o tipo de solicitação.
Preciso instalar o Nginx ou Traefik?
Sim, o proxy reverso precisa de um software como Nginx ou Traefik instalado e configurado no seu servidor para funcionar.
Detalhes
Descrição original do autor
Configure nginx and Traefik as reverse proxies. Implement SSL termination and routing. Use when setting up application gateways.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4017
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC