summaryrefslogtreecommitdiff
path: root/docs/CADDY_ARAUCARIA.md
blob: 975c85bd20e6456188a00e903056c7485c426ad0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# CADDY_ARAUCARIA

## Objectif
Publier la stack medias en HTTPS via Caddy sur `araucaria`, sans exposition directe des ports applicatifs vers les clients.

## Prerequis
- Caddy installe et actif sur `araucaria`.
- `araucaria` peut joindre la VM `konenpan` sur les ports internes:
  - viewer-bff `8082`
  - media-access-api `8081`
  - MinIO API `9000` (si necessaire)
  - MinIO Console `9001` (admin uniquement)

## Noms DNS recommandes
- `photos.arauco.online`
- `media-api.arauco.online`
- `minio-console.arauco.online`
- `minio.arauco.online` (optionnel, a limiter)

## Caddyfile (exemple)
```caddy
photos.arauco.online {
    encode zstd gzip
    reverse_proxy 192.168.99.23:8082
}

media-api.arauco.online {
    encode zstd gzip
    reverse_proxy 192.168.99.23:8081
}

minio-console.arauco.online {
    encode zstd gzip
    reverse_proxy 192.168.99.23:9001
}

minio.arauco.online {
    encode zstd gzip
    reverse_proxy 192.168.99.23:9000
}
```

## Application
```bash
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
sudo systemctl status caddy --no-pager
```

## Validation
```bash
curl -I https://photos.arauco.online
curl -I https://media-api.arauco.online/health
curl -I https://minio-console.arauco.online
```

## Checklist debug rapide
Utiliser cette sequence en cas de "connexion a echoue" depuis le navigateur.

```bash
# DNS -> araucaria
dig +short photos.arauco.online

# TLS/HTTP sur le front Caddy
curl -vkI https://photos.arauco.online

# Etat et config Caddy
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl status caddy --no-pager
sudo journalctl -u caddy -n 100 --no-pager

# Connectivite backend depuis araucaria
curl -I http://192.168.99.23:8082/health
curl -I http://192.168.99.23:8081/health
```

## Recommandations securite
- Exposer `minio-console` uniquement aux admins (ACL reseau/VPN/IP allowlist).
- Ne pas autoriser de lecture anonyme sur le bucket prive.
- Conserver l'enforcement ACL dans `media-access-api` (deny-by-default + URLs pre-signees).