2.4 KiB
2.4 KiB
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
.confque 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
- Crie o arquivo em
nginx/conf.d/meusite.conf. - 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;
}
}
- Commit e Push para a branch
producao. - No servidor (Portainer/Docker), faça o Pull das alterações.
⚙️ Notas Operacionais
- Logs e SSL: As pastas
logs,sslecertbotnã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.