114 lines
3.3 KiB
Bash
Executable File
114 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Fix QuickConnect 502 Error
|
|
# HTTP ERROR 502 - Bad Gateway
|
|
|
|
set -e
|
|
|
|
echo "=== Fix QuickConnect 502 Error ==="
|
|
echo ""
|
|
echo "502 Bad Gateway means QuickConnect relay server"
|
|
echo "can't reach your NAS or NAS is having issues."
|
|
echo ""
|
|
|
|
echo "🔍 Diagnosing..."
|
|
echo ""
|
|
|
|
# Check local network connectivity
|
|
echo "1. Checking local network connection..."
|
|
if ping -c 2 DS224plus.local &>/dev/null || ping -c 2 192.168.1.172 &>/dev/null; then
|
|
echo " ✅ NAS is reachable on local network"
|
|
LOCAL_REACHABLE=true
|
|
else
|
|
echo " ❌ NAS not reachable on local network"
|
|
LOCAL_REACHABLE=false
|
|
fi
|
|
echo ""
|
|
|
|
# Check SSH access
|
|
echo "2. Checking SSH access..."
|
|
if nas "uptime" &>/dev/null; then
|
|
echo " ✅ Can connect via SSH"
|
|
SSH_WORKING=true
|
|
else
|
|
echo " ❌ Cannot connect via SSH"
|
|
SSH_WORKING=false
|
|
fi
|
|
echo ""
|
|
|
|
# Check DSM web interface locally
|
|
echo "3. Checking DSM web interface (local)..."
|
|
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 http://192.168.1.172:5000 2>/dev/null || echo "000")
|
|
if [ "$HTTP_STATUS" = "200" ] || [ "$HTTP_STATUS" = "302" ]; then
|
|
echo " ✅ DSM web interface working locally"
|
|
WEB_WORKING=true
|
|
else
|
|
echo " ❌ DSM web interface not responding (HTTP $HTTP_STATUS)"
|
|
WEB_WORKING=false
|
|
fi
|
|
echo ""
|
|
|
|
echo "=== Solutions ==="
|
|
echo ""
|
|
|
|
if [ "$LOCAL_REACHABLE" = true ] && [ "$WEB_WORKING" = true ]; then
|
|
echo "✅ NAS is working locally!"
|
|
echo ""
|
|
echo "The 502 error is a QuickConnect issue, not your NAS."
|
|
echo ""
|
|
echo "Solution: Use local access instead:"
|
|
echo ""
|
|
echo " http://192.168.1.172:5000"
|
|
echo " or"
|
|
echo " http://DS224plus.local:5000"
|
|
echo ""
|
|
echo "QuickConnect issues are usually:"
|
|
echo " - QuickConnect relay server problems (temporary)"
|
|
echo " - QuickConnect service disabled on NAS"
|
|
echo " - Network/firewall blocking QuickConnect"
|
|
echo ""
|
|
elif [ "$LOCAL_REACHABLE" = true ] && [ "$SSH_WORKING" = true ]; then
|
|
echo "✅ NAS is reachable via SSH"
|
|
echo ""
|
|
echo "DSM web interface may be down. Check:"
|
|
echo ""
|
|
echo " 1. NAS may be restarting or updating"
|
|
echo " 2. Web service may be stopped"
|
|
echo ""
|
|
echo "Via SSH, check:"
|
|
echo " nas 'synoservice --status nginx'"
|
|
echo " nas 'synoservice --status httpd-user'"
|
|
echo ""
|
|
else
|
|
echo "⚠️ NAS may be down or unreachable"
|
|
echo ""
|
|
echo "Check:"
|
|
echo " 1. Is NAS powered on? (Check power LED)"
|
|
echo " 2. Is NAS connected to network? (Check network LED)"
|
|
echo " 3. Try accessing directly: http://192.168.1.172:5000"
|
|
echo ""
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== QuickConnect 502 Error Fixes ==="
|
|
echo ""
|
|
echo "1. **Use Local Access Instead** (Recommended)"
|
|
echo " http://192.168.1.172:5000"
|
|
echo " This bypasses QuickConnect entirely"
|
|
echo ""
|
|
echo "2. **Check QuickConnect Settings**"
|
|
echo " If you can access NAS locally:"
|
|
echo " - Control Panel → External Access → QuickConnect"
|
|
echo " - Make sure QuickConnect is enabled"
|
|
echo " - Try disabling and re-enabling"
|
|
echo ""
|
|
echo "3. **Wait and Retry**"
|
|
echo " QuickConnect 502 errors are often temporary"
|
|
echo " Wait 5-10 minutes and try again"
|
|
echo ""
|
|
echo "4. **Check NAS Status**"
|
|
echo " - Is NAS powered on?"
|
|
echo " - Are status LEDs normal?"
|
|
echo " - Try restarting NAS if needed"
|
|
echo ""
|