|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
echo "============================================================" |
|
|
echo "🔍 Kiểm tra Cloudflare Tunnel cho PostgreSQL" |
|
|
echo "============================================================" |
|
|
echo "" |
|
|
|
|
|
TUNNEL_NAME="mystifying_bassi" |
|
|
POSTGRES_CONTAINER="postgres-hue" |
|
|
POSTGRES_HOST="192.168.1.212" |
|
|
POSTGRES_PORT="5432" |
|
|
|
|
|
|
|
|
echo "1️⃣ Kiểm tra tunnel container..." |
|
|
if docker ps | grep -q "$TUNNEL_NAME"; then |
|
|
echo "✅ Tunnel container đang chạy" |
|
|
docker ps | grep "$TUNNEL_NAME" |
|
|
else |
|
|
echo "❌ Tunnel container KHÔNG chạy!" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "2️⃣ Kiểm tra PostgreSQL container..." |
|
|
if docker ps | grep -q "$POSTGRES_CONTAINER"; then |
|
|
echo "✅ PostgreSQL container đang chạy" |
|
|
docker ps | grep "$POSTGRES_CONTAINER" |
|
|
else |
|
|
echo "❌ PostgreSQL container KHÔNG chạy!" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "3️⃣ Test PostgreSQL từ trong Unraid..." |
|
|
if docker exec "$POSTGRES_CONTAINER" psql -U hue_remote -d hue_portal -c "SELECT 1;" > /dev/null 2>&1; then |
|
|
echo "✅ PostgreSQL hoạt động OK" |
|
|
else |
|
|
echo "❌ PostgreSQL KHÔNG hoạt động!" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "4️⃣ Kiểm tra tunnel config..." |
|
|
if docker logs "$TUNNEL_NAME" --tail 50 | grep -q "postgres.aliss.io.vn.*tcp://$POSTGRES_HOST:$POSTGRES_PORT"; then |
|
|
echo "✅ Tunnel config có postgres.aliss.io.vn → tcp://$POSTGRES_HOST:$POSTGRES_PORT" |
|
|
else |
|
|
echo "⚠️ KHÔNG tìm thấy config postgres trong logs" |
|
|
echo " Xem logs:" |
|
|
docker logs "$TUNNEL_NAME" --tail 10 | grep -i "postgres\|tcp\|5432" |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "5️⃣ Kiểm tra tunnel connection status..." |
|
|
if docker logs "$TUNNEL_NAME" --tail 20 | grep -q "Registered tunnel connection"; then |
|
|
echo "✅ Tunnel đã connected" |
|
|
docker logs "$TUNNEL_NAME" --tail 5 | grep "Registered tunnel connection" |
|
|
else |
|
|
echo "⚠️ Không thấy tunnel connection" |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "6️⃣ Kiểm tra connection attempts (nếu có)..." |
|
|
RECENT_LOGS=$(docker logs "$TUNNEL_NAME" --tail 100 | grep -i "request\|connection\|postgres\|5432" | tail -5) |
|
|
if [ -n "$RECENT_LOGS" ]; then |
|
|
echo "📋 Recent logs:" |
|
|
echo "$RECENT_LOGS" |
|
|
else |
|
|
echo "⚠️ Không có connection attempts gần đây" |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "============================================================" |
|
|
echo "💡 Gợi ý:" |
|
|
echo "============================================================" |
|
|
echo "" |
|
|
echo "Nếu kết nối vẫn không hoạt động:" |
|
|
echo "" |
|
|
echo "1. Restart tunnel:" |
|
|
echo " docker restart $TUNNEL_NAME" |
|
|
echo "" |
|
|
echo "2. Đợi 30 giây và check logs:" |
|
|
echo " sleep 30" |
|
|
echo " docker logs $TUNNEL_NAME --tail 20" |
|
|
echo "" |
|
|
echo "3. Kiểm tra Cloudflare Dashboard:" |
|
|
echo " https://dash.cloudflare.com → Zero Trust → Networks → Tunnels" |
|
|
echo " - Xem tunnel status phải là 'Healthy'" |
|
|
echo " - Xem config có postgres.aliss.io.vn → tcp://$POSTGRES_HOST:$POSTGRES_PORT" |
|
|
echo "" |
|
|
echo "4. Test từ máy local:" |
|
|
echo " PGPASSWORD=huepass123 psql -h postgres.aliss.io.vn -p 5432 -U hue_remote -d hue_portal -c 'SELECT 1;'" |
|
|
echo "" |
|
|
echo "============================================================" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|