fix: wait for Zoraxy before cert upload, verbose retry messages
This commit is contained in:
parent
b684242eb9
commit
b0325267db
1 changed files with 18 additions and 4 deletions
22
deploy.sh
22
deploy.sh
|
|
@ -299,25 +299,39 @@ EOF
|
|||
|
||||
# Upload certs to Zoraxy via API (needed to register them in sys.db)
|
||||
echo "[*] Registering certificates in Zoraxy..."
|
||||
# Wait for Zoraxy to be ready
|
||||
for i in $(seq 1 15); do
|
||||
if curl -sf --max-time 3 "http://127.0.0.1:8000/api/auth/userCount" > /dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
CERTS_DIR="$TARGET_DIR/config/zoraxy/conf/certs"
|
||||
for SUB in $APP_SUB $DNS_SUB $WWW_SUB; do
|
||||
FQDN="${SUB}.${DOMAIN}"
|
||||
CRT_FILE="$CERTS_DIR/${FQDN}.crt"
|
||||
[ -f "$CRT_FILE" ] || continue
|
||||
for TRY in 1 2 3; do
|
||||
C=$(curl -s --max-time 5 -c /tmp/zc.txt http://127.0.0.1:8000/login.html 2>&1)
|
||||
C=$(curl -s --max-time 5 -c /tmp/zc.txt "http://127.0.0.1:8000/login.html" 2>&1)
|
||||
T=$(echo "$C" | grep 'zoraxy.csrf.Token' | sed 's/.*content="//;s/".*//')
|
||||
[ -z "$T" ] && sleep 2 && continue
|
||||
if [ -z "$T" ]; then
|
||||
echo " Retry $TRY for $FQDN (no CSRF)"
|
||||
sleep 2
|
||||
continue
|
||||
fi
|
||||
R=$(curl -s --max-time 5 -b /tmp/zc.txt -X POST "http://127.0.0.1:8000/api/cert/upload?ktype=pub&domain=$FQDN" \
|
||||
-H "X-CSRF-Token: $T" --data-binary "@$CRT_FILE" 2>&1) || true
|
||||
if echo "$R" | grep -qi '"success"\|"ok"\|^{}$'; then
|
||||
echo " [OK] Cert registered: $FQDN"
|
||||
break
|
||||
fi
|
||||
else
|
||||
echo " Retry $TRY for $FQDN: $(echo $R | head -c 80)"
|
||||
sleep 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo " [OK] Certificate registration complete"
|
||||
echo " [*] Certificate registration complete"
|
||||
|
||||
# Write systemd service
|
||||
echo "[*] Writing systemd service..."
|
||||
|
|
|
|||
Loading…
Reference in a new issue