67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# Nginx Pathfinder Proxy
|
|
|
|
## Visão Geral
|
|
Proxy Reverso NGINX simplificado rodando em um **único container Docker**.
|
|
Este projeto foi refatorado para remover automações complexas, WAF (ModSecurity) e Fail2ban, focando em simplicidade e gerenciamento manual.
|
|
|
|
## Arquitetura
|
|
- **Serviço**: `nginx-proxy` (Imagem Alpine Customizada)
|
|
- **Portas**: `80`, `443` (Modo Bridge)
|
|
- **Gerenciamento**: Manual via edição de arquivos no host.
|
|
|
|
## Estrutura de Arquivos
|
|
```
|
|
.
|
|
├── conf.d/ # Configurações de sites (VHosts) - EDITE AQUI
|
|
├── snippets/ # Trechos reutilizáveis (Rate Limit, Cache, Maps)
|
|
├── ssl/ # Certificados SSL (.crt, .key)
|
|
├── nginx.conf # Configuração global
|
|
├── docker-compose.yml # Definição do serviço
|
|
└── Dockerfile # Definição da imagem
|
|
```
|
|
|
|
## Como Usar
|
|
|
|
### 1. Iniciar
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
### 2. Adicionar Novo Site
|
|
Crie um arquivo `.conf` na pasta `conf.d/`.
|
|
**Exemplo:**
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
server_name exemplo.com.br;
|
|
|
|
location / {
|
|
proxy_pass http://192.168.1.50:8080;
|
|
include /etc/nginx/snippets/proxy_params.conf; # Se houver params comuns
|
|
}
|
|
}
|
|
```
|
|
|
|
### 3. Aplicar Mudanças
|
|
Após editar qualquer arquivo (`nginx.conf` ou `conf.d/*`), recarregue o Nginx:
|
|
```bash
|
|
docker exec nginx-proxy nginx -s reload
|
|
```
|
|
|
|
### 4. SSL
|
|
Coloque seus certificados manualment na pasta `ssl/` e aponte no seu config:
|
|
```nginx
|
|
ssl_certificate /etc/nginx/ssl/meu-site.crt;
|
|
ssl_certificate_key /etc/nginx/ssl/meu-site.key;
|
|
```
|
|
|
|
## Cache
|
|
O sistema utiliza uma zona de cache dinâmica única.
|
|
Para ativar cache em um location:
|
|
```nginx
|
|
location / {
|
|
proxy_cache dynamic_cache;
|
|
proxy_cache_valid 200 1h;
|
|
proxy_pass http://backend;
|
|
}
|
|
``` |