Repositorio onde Ficará todos os arquivos de configuraçao do nosso proxy com atualização automatica aqui assim que for mudado qualquer coisa nele.
Go to file
João Pedro Toledo Goncalves 0d395f42c5 docs: consolidate READMEs and update for configuration-only model 2026-02-06 16:44:41 -03:00
fail2ban/data chore: pivot repository to configuration-only (removed docker artifacts and sensitive data) 2026-02-06 16:41:59 -03:00
nginx docs: consolidate READMEs and update for configuration-only model 2026-02-06 16:44:41 -03:00
.gitignore chore: pivot repository to configuration-only (removed docker artifacts and sensitive data) 2026-02-06 16:41:59 -03:00
README.md docs: consolidate READMEs and update for configuration-only model 2026-02-06 16:44:41 -03:00

README.md

Nginx Pathfinder Proxy - Repositório de Configuração

Este repositório é a fonte da verdade para as configurações do Pathfinder Proxy. Ele armazena as definições de domínios, segurança e parâmetros do Nginx e Fail2Ban.

[!IMPORTANT] Repositório de Configuração (Config Management): Este repositório NÃO gerencia a execução do Docker, build de imagens ou certificados SSL. Ele serve apenas para versionar os arquivos .conf que serão baixados no servidor.

🧠 O que este repositório armazena:

  • Gerenciamento de Sites: Definição de VHosts em nginx/conf.d/.
  • Snippets Reutilizáveis: Componentes modulares (SSL, Proxy, WAF) em nginx/snippets/.
  • Segurança Dinâmica: Estrutura para blacklist.conf (alimentada externamente).
  • Fail2Ban: Regras de jails e filters customizados em fail2ban/.

📂 Estrutura de Pastas

.
├── nginx/
│   ├── nginx.conf           # Configuração mestre (Global)
│   ├── conf.d/              # Arquivos de site (Ex: ferreirareal.com.br.conf)
│   ├── snippets/            # Peças modulares (SSL, ModSec, Proxy, Blacklist)
│   ├── dynamic/             # Configurações dinâmicas (Blacklist - gerado pelo Fail2Ban)
│   └── modsec/              # Regras do WAF
└── fail2ban/                # Configurações do sidecar de segurança

🛠️ Como Adicionar um Site

  1. Crie o arquivo em nginx/conf.d/meusite.conf.
  2. Utilize os snippets para manter o padrão e segurança:
server {
    listen 443 quic reuseport; # Suporte a HTTP/3
    listen 443 ssl;
    server_name meusite.com.br;

    # Certificados (Gerenciados no Servidor/Portainer)
    ssl_certificate /etc/letsencrypt/live/meusite.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/meusite.com.br/privkey.pem;

    include snippets/ssl_params.conf;
    include snippets/proxy_params.conf;
    include snippets/modsecurity.conf;

    location / {
        proxy_pass http://ip_interno:porta;
    }
}
  1. Commit e Push para a branch producao.
  2. No servidor (Portainer/Docker), faça o Pull das alterações.

⚙️ Notas Operacionais

  • Logs e SSL: As pastas logs, ssl e certbot não são versionadas aqui para segurança. Elas existem apenas no servidor.
  • Fail2Ban: O Fail2Ban lê os logs do Nginx e escreve bloqueios em nginx/dynamic/blacklist.conf.