melhorias de docker
This commit is contained in:
parent
31499a0c69
commit
67d4e86302
3 changed files with 80 additions and 0 deletions
39
README.md
39
README.md
|
|
@ -117,6 +117,45 @@ DATABASE_URL='postgres://usuario:senha@host.docker.internal:5432/seu_banco?sslmo
|
|||
No Linux, o `docker-compose.yml` já inclui `extra_hosts` com `host-gateway` para
|
||||
esse hostname funcionar.
|
||||
|
||||
## Publicar com Caddy (reverse proxy)
|
||||
|
||||
Este repositório inclui um exemplo de `Caddyfile` para publicar o serviço em:
|
||||
|
||||
- `https://nps.idz.one` → `{ip-app}:8080`
|
||||
|
||||
### Pré-requisitos
|
||||
|
||||
- O DNS de `nps.idz.one` deve apontar para o **IP público** do servidor onde o Caddy roda.
|
||||
- Portas **80/443** liberadas para o Caddy (TLS automático).
|
||||
|
||||
### IP real do usuário
|
||||
|
||||
O Caddy repassa o IP do cliente via `X-Forwarded-For` e `X-Real-IP`.
|
||||
O servidor Go já usa `middleware.RealIP` (chi), então o IP real chega corretamente
|
||||
e é gravado em `ip_real`.
|
||||
|
||||
### Check do IP real (direto / Docker / Caddy)
|
||||
|
||||
O painel tem um endpoint de debug que mostra o IP que a aplicação está enxergando
|
||||
e os headers recebidos:
|
||||
|
||||
- `GET /painel/debug/ip`
|
||||
|
||||
Passo a passo:
|
||||
|
||||
1) Faça login no painel em `/painel`.
|
||||
2) Acesse `/painel/debug/ip`.
|
||||
|
||||
O JSON retornado inclui:
|
||||
- `remote_addr` (já após o `middleware.RealIP`)
|
||||
- `x_forwarded_for`
|
||||
- `x_real_ip`
|
||||
|
||||
Interpretação esperada:
|
||||
- Rodando **direto** (sem proxy): `remote_addr` deve ser o IP do cliente (ou do seu balanceador).
|
||||
- Rodando via **Docker**: se você acessar diretamente a porta publicada, o `remote_addr` tende a ser o IP do host/bridge; atrás de proxy (Caddy), o `remote_addr` deve refletir o IP real.
|
||||
- Rodando via **Caddy**: `x_forwarded_for` deve conter o IP real do cliente e o `remote_addr` deve refletir esse IP após `RealIP`.
|
||||
|
||||
Depois acesse:
|
||||
- Home/README: `http://localhost:8080/`
|
||||
- Teste do widget: `http://localhost:8080/teste.html`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue