0.0.8.3
This commit is contained in:
Executable
+106
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 重定向循环问题快速修复脚本
|
||||
# 用于修复 ERR_TOO_MANY_REDIRECTS 错误
|
||||
|
||||
set -e
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 服务器配置
|
||||
SERVER_IP="115.190.235.230"
|
||||
SSH_PORT="22" # SSH连接端口
|
||||
APP_PORT="8006" # 应用访问端口
|
||||
SERVER_USER="root"
|
||||
REMOTE_DIR="/var/www/chinese-family-tree"
|
||||
|
||||
echo -e "${GREEN}=== 重定向循环问题修复脚本 ===${NC}\n"
|
||||
|
||||
# 1. 检查当前 NEXTAUTH_URL 配置
|
||||
echo -e "${YELLOW}步骤 1: 检查服务器当前配置${NC}"
|
||||
echo "正在连接服务器..."
|
||||
CURRENT_URL=$(ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP "cd $REMOTE_DIR && grep NEXTAUTH_URL .env | cut -d'=' -f2 | tr -d '\"'" 2>/dev/null || echo "未找到")
|
||||
|
||||
if [ "$CURRENT_URL" = "未找到" ]; then
|
||||
echo -e "${RED}错误: 服务器上未找到 .env 文件或 NEXTAUTH_URL 配置${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "当前 NEXTAUTH_URL: ${YELLOW}$CURRENT_URL${NC}\n"
|
||||
|
||||
# 2. 询问用户访问URL
|
||||
echo -e "${YELLOW}步骤 2: 确认用户访问URL${NC}"
|
||||
echo "用户在浏览器中通过哪个URL访问系统?"
|
||||
echo "1) http://115.190.235.230:3000"
|
||||
echo "2) http://115.190.235.230:8006"
|
||||
echo "3) 其他 (手动输入)"
|
||||
read -p "请选择 (1-3): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
NEW_URL="http://$SERVER_IP:3000"
|
||||
;;
|
||||
2)
|
||||
NEW_URL="http://$SERVER_IP:$APP_PORT"
|
||||
;;
|
||||
3)
|
||||
read -p "请输入完整的访问URL (包括 http:// 和端口): " NEW_URL
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效选择${NC}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "将设置 NEXTAUTH_URL 为: ${GREEN}$NEW_URL${NC}\n"
|
||||
|
||||
# 3. 确认修改
|
||||
read -p "确认修改? (y/n): " confirm
|
||||
if [ "$confirm" != "y" ]; then
|
||||
echo "已取消"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 4. 更新服务器配置
|
||||
echo -e "\n${YELLOW}步骤 3: 更新服务器配置${NC}"
|
||||
ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP << EOF
|
||||
cd $REMOTE_DIR
|
||||
# 备份原配置
|
||||
cp .env .env.backup.\$(date +%Y%m%d_%H%M%S)
|
||||
# 更新 NEXTAUTH_URL
|
||||
sed -i 's|NEXTAUTH_URL=.*|NEXTAUTH_URL="$NEW_URL"|' .env
|
||||
echo "配置已更新"
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✓ 配置更新成功${NC}\n"
|
||||
|
||||
# 5. 重启应用
|
||||
echo -e "${YELLOW}步骤 4: 重启应用${NC}"
|
||||
ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP "pm2 restart chinese-family-tree"
|
||||
echo -e "${GREEN}✓ 应用已重启${NC}\n"
|
||||
|
||||
# 6. 等待应用启动
|
||||
echo "等待应用启动..."
|
||||
sleep 3
|
||||
|
||||
# 7. 检查应用状态
|
||||
echo -e "\n${YELLOW}步骤 5: 检查应用状态${NC}"
|
||||
ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP "pm2 status chinese-family-tree"
|
||||
|
||||
# 8. 显示后续步骤
|
||||
echo -e "\n${GREEN}=== 修复完成 ===${NC}\n"
|
||||
echo -e "${YELLOW}后续步骤:${NC}"
|
||||
echo "1. 在浏览器中清除缓存和Cookie"
|
||||
echo " - Chrome/Edge: Ctrl+Shift+Delete (Windows) 或 Cmd+Shift+Delete (Mac)"
|
||||
echo " - 或者右键点击刷新按钮,选择'清空缓存并硬性重新加载'"
|
||||
echo ""
|
||||
echo "2. 重新访问: $NEW_URL"
|
||||
echo ""
|
||||
echo "3. 如果仍有问题,请查看日志:"
|
||||
echo " ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP 'pm2 logs chinese-family-tree'"
|
||||
echo ""
|
||||
echo -e "${GREEN}详细说明请参考: REDIRECT_LOOP_FIX.md${NC}"
|
||||
Reference in New Issue
Block a user