Premiere verison route admin operationnelle
This commit is contained in:
57
diag_502.sh
Executable file
57
diag_502.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
say(){ printf "\033[1;36m%s\033[0m\n" "$*"; }
|
||||
err(){ printf "\033[1;31m%s\033[0m\n" "$*" >&2; }
|
||||
|
||||
say "▶ docker compose ps"
|
||||
docker compose ps || { err "❌ Pas dans le bon dossier ?"; exit 1; }
|
||||
|
||||
say "▶ Test host → Nginx"
|
||||
if curl -fsS http://localhost/api/health >/dev/null 2>&1; then
|
||||
say "✅ Host OK: http://localhost/api/health"
|
||||
exit 0
|
||||
else
|
||||
err "⚠️ Host 502 (ou autre). On continue…"
|
||||
fi
|
||||
|
||||
say "▶ API container up ?"
|
||||
if ! docker compose ps | awk 'NR>1{print $1,$4}' | grep -q 'api .*Up'; then
|
||||
err "❌ Service api pas UP → démarrage…"
|
||||
docker compose up -d api
|
||||
fi
|
||||
|
||||
say "▶ Test API inside api container"
|
||||
docker compose exec api sh -lc 'apk add --no-cache curl >/dev/null 2>&1 || true; curl -i http://localhost:4000/api/health || true'
|
||||
|
||||
say "▶ Test depuis Nginx vers api:4000"
|
||||
if docker compose exec web sh -lc 'wget -q -O- http://api:4000/api/health >/dev/null 2>&1'; then
|
||||
say "✅ Nginx atteint api:4000"
|
||||
TARGET="api:4000"
|
||||
else
|
||||
err "⚠️ api:4000 KO. Test vers supersunday_api:4000…"
|
||||
if docker compose exec web sh -lc 'wget -q -O- http://supersunday_api:4000/api/health >/dev/null 2>&1'; then
|
||||
say "✅ Nginx atteint supersunday_api:4000"
|
||||
TARGET="supersunday_api:4000"
|
||||
else
|
||||
err "❌ Nginx n'atteint pas l'API par le réseau docker."
|
||||
say "Logs web (Nginx) :"; docker compose logs --since=2m web || true
|
||||
say "Logs api :"; docker compose logs --since=2m api || true
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
say "▶ Vérifie/force nginx.conf → upstream ${TARGET}"
|
||||
# Remplace le bloc upstream par la bonne cible
|
||||
if [ -f nginx/nginx.conf ]; then
|
||||
# Portable sur macOS (BSD sed) : crée sauvegarde .bak
|
||||
sed -i '' -e "s#upstream api_upstream {[^}]*}#upstream api_upstream { server ${TARGET}; keepalive 16; }#g" nginx/nginx.conf
|
||||
docker compose restart web
|
||||
else
|
||||
err "❌ nginx/nginx.conf introuvable"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
say "▶ Re-test host → Nginx"
|
||||
curl -i http://localhost/api/health || { err "❌ Toujours KO"; exit 1; }
|
||||
say "✅ OK via Nginx"
|
||||
Reference in New Issue
Block a user