- Refactored the Dockerfile to streamline the build process. - Removed unnecessary layers and combined commands for efficiency. - Improved caching strategy to enhance build performance.
111 lines
4.0 KiB
Bash
Executable File
111 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
||
# Quick-Check für Punycode-Domain DNS und Zertifikat
|
||
|
||
set -e
|
||
|
||
echo "🔍 Quick-Check für hördle.de (xn--hrdle-jua.de)"
|
||
echo ""
|
||
|
||
# Prüfe DNS
|
||
echo "1️⃣ DNS-Auflösung:"
|
||
echo ""
|
||
echo " hoerdle.de:"
|
||
HOERDLE_IP=$(dig +short hoerdle.de @8.8.8.8 | head -1 || echo "")
|
||
if [ -z "$HOERDLE_IP" ]; then
|
||
echo " ❌ Konnte nicht aufgelöst werden"
|
||
else
|
||
echo " ✅ IP: $HOERDLE_IP"
|
||
fi
|
||
|
||
echo ""
|
||
echo " xn--hrdle-jua.de:"
|
||
PUNYCODE_IP=$(dig +short xn--hrdle-jua.de @8.8.8.8 | head -1 || echo "")
|
||
if [ -z "$PUNYCODE_IP" ]; then
|
||
echo " ❌ Konnte nicht aufgelöst werden"
|
||
else
|
||
echo " ✅ IP: $PUNYCODE_IP"
|
||
fi
|
||
|
||
if [ -n "$HOERDLE_IP" ] && [ -n "$PUNYCODE_IP" ]; then
|
||
if [ "$HOERDLE_IP" = "$PUNYCODE_IP" ]; then
|
||
echo ""
|
||
echo " ✅ Beide Domains zeigen auf die gleiche IP ($HOERDLE_IP)"
|
||
else
|
||
echo ""
|
||
echo " ⚠️ WARNUNG: Domains zeigen auf unterschiedliche IPs!"
|
||
echo " hoerdle.de: $HOERDLE_IP"
|
||
echo " xn--hrdle-jua.de: $PUNYCODE_IP"
|
||
echo " → Beide sollten auf die gleiche IP zeigen!"
|
||
fi
|
||
fi
|
||
|
||
echo ""
|
||
echo "2️⃣ HTTPS-Verbindungstest:"
|
||
echo ""
|
||
|
||
# Test hoerdle.de
|
||
echo " hoerdle.de:"
|
||
if timeout 5 bash -c "echo > /dev/tcp/hoerdle.de/443" 2>/dev/null; then
|
||
echo " ✅ Port 443 ist erreichbar"
|
||
if echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | grep -q "Verify return code: 0"; then
|
||
CERT_VALID_UNTIL=$(echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2 || echo "")
|
||
echo " ✅ Zertifikat gültig bis: $CERT_VALID_UNTIL"
|
||
else
|
||
echo " ❌ Zertifikat ungültig oder fehlt"
|
||
fi
|
||
else
|
||
echo " ❌ Port 443 nicht erreichbar"
|
||
fi
|
||
|
||
echo ""
|
||
echo " xn--hrdle-jua.de:"
|
||
if timeout 5 bash -c "echo > /dev/tcp/xn--hrdle-jua.de/443" 2>/dev/null; then
|
||
echo " ✅ Port 443 ist erreichbar"
|
||
if echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | grep -q "Verify return code: 0"; then
|
||
CERT_VALID_UNTIL=$(echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2 || echo "")
|
||
echo " ✅ Zertifikat gültig bis: $CERT_VALID_UNTIL"
|
||
else
|
||
echo " ❌ Zertifikat ungültig oder fehlt (ERR_SSL_PROTOCOL_ERROR)"
|
||
echo ""
|
||
echo " 💡 Lösung: Führe aus: ./scripts/renew-caddy-certificates.sh"
|
||
fi
|
||
else
|
||
echo " ❌ Port 443 nicht erreichbar"
|
||
fi
|
||
|
||
echo ""
|
||
echo "3️⃣ Caddy-Container Status:"
|
||
echo ""
|
||
if docker ps | grep -q hoerdle-caddy; then
|
||
echo " ✅ Caddy-Container läuft"
|
||
echo ""
|
||
echo " 📋 Letzte Caddy-Logs (Zertifikat-bezogen):"
|
||
docker logs hoerdle-caddy 2>&1 | grep -i -E "(xn--hrdle|punycode|certificate|tls|acme|challenge)" | tail -5 || echo " (Keine relevanten Einträge gefunden)"
|
||
else
|
||
echo " ❌ Caddy-Container läuft nicht"
|
||
echo " Starte mit: docker compose -f docker-compose.caddy.yml --profile production up -d"
|
||
fi
|
||
|
||
echo ""
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo ""
|
||
echo "💡 Nächste Schritte:"
|
||
echo ""
|
||
if [ -n "$HOERDLE_IP" ] && [ -n "$PUNYCODE_IP" ] && [ "$HOERDLE_IP" != "$PUNYCODE_IP" ]; then
|
||
echo " 1. ❗ DNS-Konfiguration prüfen!"
|
||
echo " Beide Domains müssen auf die gleiche IP zeigen."
|
||
echo " Prüfe in GoDaddy: https://dcc.godaddy.com/manage/hoerdle.de/dns"
|
||
echo ""
|
||
fi
|
||
|
||
echo " 2. Wenn DNS korrekt ist, Zertifikat neu erstellen:"
|
||
echo " ./scripts/renew-caddy-certificates.sh"
|
||
echo ""
|
||
echo " 3. Caddy-Logs überwachen:"
|
||
echo " docker logs hoerdle-caddy -f"
|
||
echo ""
|
||
echo " 4. Detaillierte Diagnose:"
|
||
echo " ./scripts/check-caddy-certificates.sh"
|
||
echo ""
|
||
|