diff --git a/fix-existing-vhost.sh b/fix-existing-vhost.sh new file mode 100644 index 0000000..debed56 --- /dev/null +++ b/fix-existing-vhost.sh @@ -0,0 +1,97 @@ +#!/bin/bash +# Add proxy rules to existing CloudSticks vhost config + +echo "🔧 Adding proxy rules to existing app-connect5.conf" +echo "====================================================" +echo "" + +GREEN='\033[0;32m' +NC='\033[0m' + +if [ "$EUID" -ne 0 ]; then + echo "❌ Run with sudo" + exit 1 +fi + +CONFIG="/etc/nginx-cs/vhosts.d/app-connect5.conf" + +echo "Step 1: Backing up existing config..." +cp "$CONFIG" "${CONFIG}.backup.$(date +%Y%m%d_%H%M%S)" +echo -e "${GREEN}✅ Backup created${NC}" +echo "" + +echo "Step 2: Adding proxy rules..." + +# Add proxy rules before the closing brace +sed -i '/^}$/i\ +\ + # Connect-5 API Proxy\ + location /api {\ + proxy_pass http://localhost:3000;\ + proxy_http_version 1.1;\ + proxy_set_header Upgrade $http_upgrade;\ + proxy_set_header Connection '"'"'upgrade'"'"';\ + proxy_set_header Host $host;\ + proxy_cache_bypass $http_upgrade;\ + proxy_set_header X-Real-IP $remote_addr;\ + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\ + proxy_set_header X-Forwarded-Proto $scheme;\ + }\ +\ + # Connect-5 Socket.io Proxy\ + location /socket.io {\ + proxy_pass http://localhost:3000;\ + proxy_http_version 1.1;\ + proxy_set_header Upgrade $http_upgrade;\ + proxy_set_header Connection "upgrade";\ + proxy_set_header Host $host;\ + proxy_cache_bypass $http_upgrade;\ + proxy_set_header X-Real-IP $remote_addr;\ + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\ + proxy_set_header X-Forwarded-Proto $scheme;\ + }' "$CONFIG" + +echo -e "${GREEN}✅ Proxy rules added${NC}" +echo "" + +echo "Step 3: Removing duplicate connect5-proxy.conf..." +rm -f /etc/nginx-cs/vhosts.d/connect5-proxy.conf +echo -e "${GREEN}✅ Removed duplicate${NC}" +echo "" + +echo "Step 4: Restarting nginx-cs..." +systemctl restart nginx-cs +echo -e "${GREEN}✅ Nginx restarted${NC}" +echo "" + +echo "Step 5: Checking Node.js..." +if ! pgrep -f "node server.js" > /dev/null; then + cd /home/github2/apps/app-connect5 + nohup node server.js > server.log 2>&1 & + sleep 2 +fi +echo -e "${GREEN}✅ Node.js running${NC}" +echo "" + +echo "Step 6: Testing..." +sleep 3 + +LOCAL=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/db-status 2>/dev/null) +PROD=$(curl -s -o /dev/null -w "%{http_code}" https://connect5.beyondcloud.technology/api/db-status 2>/dev/null) + +echo "Local: HTTP $LOCAL" +echo "Production: HTTP $PROD" +echo "" + +if [ "$PROD" = "200" ]; then + echo -e "${GREEN}✅✅✅ SUCCESS! ✅✅✅${NC}" + echo "" + curl -s https://connect5.beyondcloud.technology/api/db-status | python3 -m json.tool 2>/dev/null + echo "" + echo "====================================================" + echo -e "${GREEN}🎉 PRODUCTION IS LIVE! 🎉${NC}" + echo "Visit: https://connect5.beyondcloud.technology/" + echo "====================================================" +else + echo "⚠️ Still HTTP $PROD - check logs" +fi