#!/bin/bash # ============================================================================= # NAS 部署诊断脚本 — 快速排查后端 502 问题 # ============================================================================= # 用法:SSH 登录 NAS 后执行 # cd /volume1/docker/wecom-it-desk # bash diagnose.sh # ============================================================================= echo "============================================" echo " 智能IT支持服务台 — NAS 部署诊断" echo "============================================" echo "" # 1. 容器状态 echo "--- [1/5] 容器状态 ---" docker compose -f docker-compose.nas.yml ps echo "" # 2. 后端日志(最近 50 行) echo "--- [2/5] 后端日志(最近 50 行)---" docker compose -f docker-compose.nas.yml logs --tail 50 backend echo "" # 3. Nginx 日志(最近 20 行) echo "--- [3/5] Nginx 错误日志(最近 20 行)---" docker compose -f docker-compose.nas.yml logs --tail 20 nginx echo "" # 4. Cloudflared 日志(最近 20 行) echo "--- [4/5] Cloudflared 日志(最近 20 行)---" docker compose -f docker-compose.nas.yml logs --tail 20 cloudflared echo "" # 5. 内网直连测试 echo "--- [5/5] 内网直连测试 ---" echo "测试 nginx (localhost:18080)..." curl -s -o /dev/null -w " HTTP %{http_code}" http://localhost:18080/itdesk/ 2>/dev/null || echo " 失败" echo "" echo "测试后端 API (localhost:18080/api/health)..." curl -s -w " HTTP %{http_code}" http://localhost:18080/api/health 2>/dev/null || echo " 失败" echo "" echo "测试后端容器内部..." docker exec wecom_it_backend curl -s http://localhost:8000/health 2>/dev/null || echo " 后端容器内 health 检查失败" echo "" echo "============================================" echo " 诊断完成,请将以上输出发给我" echo "============================================"