#!/bin/bash # 修复重定向端口丢失问题 # 通过公网服务器连接到内网服务器并修复配置 PUBLIC_HOST="156.225.27.52" PUBLIC_PORT="50232" PUBLIC_USER="root" PUBLIC_PASS="it5NuKGemX" PRIVATE_HOST="192.168.150.22" PRIVATE_USER="root" PRIVATE_PASS="Jsjj@8888" APP_URL="http://156.225.27.52:5245" echo "==========================================" echo "修复应用重定向端口丢失问题" echo "==========================================" echo "" # 通过公网服务器连接到内网服务器 echo "1. 连接到内网服务器..." ssh -o StrictHostKeyChecking=no -p "$PUBLIC_PORT" "$PUBLIC_USER@$PUBLIC_HOST" << ENDSSH sshpass -p "$PRIVATE_PASS" ssh -o StrictHostKeyChecking=no "$PRIVATE_USER@$PRIVATE_HOST" << 'INNERSSH' echo "=== 检查应用目录 ===" APP_DIR=\$(pm2 info ai-chatbot 2>/dev/null | grep "script path" | awk '{print \$NF}' | xargs dirname) if [ -z "\$APP_DIR" ]; then APP_DIR="/root/ai-chatbot-main" fi echo "应用目录: \$APP_DIR" cd "\$APP_DIR" || exit 1 echo "" echo "=== 检查当前环境变量 ===" pm2 env 6 | grep -E "AUTH_URL|NEXT_PUBLIC" || echo "未找到相关环境变量" echo "" echo "=== 创建/更新 .env.local 文件 ===" cat >> .env.local << EOF # 修复重定向端口问题 AUTH_URL=$APP_URL NEXT_PUBLIC_BASE_URL=$APP_URL EOF echo ".env.local 内容:" cat .env.local | tail -3 echo "" echo "=== 更新 PM2 环境变量 ===" pm2 delete ai-chatbot 2>/dev/null cd "\$APP_DIR" pm2 start npm --name ai-chatbot -- start pm2 save echo "" echo "=== 检查应用状态 ===" sleep 3 pm2 status ai-chatbot echo "" echo "=== 测试应用响应 ===" sleep 2 curl -s --max-time 5 http://localhost:3001 | head -3 INNERSSH ENDSSH echo "" echo "==========================================" echo "修复完成" echo "==========================================" echo "" echo "请访问: $APP_URL" echo ""