Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
13 KiB
13 KiB
belongs_to
| belongs_to | |
|---|---|
|
📡 BC-INFRA-DEPLOY-002-FM · DEV-002肥猫 · 沙箱部署脚本执行 + 冒烟测试 + syslog-pipeline修复 + DNS TXT清理 · 🐱 舒舒线 · EL-5(2026-03-26 · 霜砚签发 · 冰朔授权)
〇、安全红线(每次都要读)
一、Phase 1 · 运行沙箱部署脚本(P0 · 最重要!)
目的:把铸渊准备好的 Nginx 子域名沙箱配置部署到服务器上。
步骤 1-1 · SSH 登录服务器
ssh root@8.155.62.235
步骤 1-2 · 进入仓库目录 + 拉取最新代码
cd /var/www/guanghulab
git pull origin main
📸 截图 git pull 结果!确认 scripts/deploy-sandbox-server.sh 存在。
步骤 1-3 · 赋予执行权限
chmod +x scripts/deploy-sandbox-server.sh
chmod +x scripts/smoke-test-subdomains.sh
chmod +x scripts/setup-sandbox.sh
ls -la scripts/deploy-sandbox-server.sh scripts/smoke-test-subdomains.sh
📸 截图!确认三个脚本都存在且有执行权限。
步骤 1-4 · 运行部署脚本 🚀
sudo bash scripts/deploy-sandbox-server.sh
运行过程中注意看输出:
- 看到
✅开头的行 → 正常,继续等 - 看到
❌或ROLLBACK→ 脚本在自动回滚,不要中断!等它跑完! - 脚本跑完后显示主站检查失败 → 立即截图告诉妈妈!不要做其他操作!
📸 截图脚本的完整输出!从头到尾都要!
步骤 1-5 · 手动验证主站没被破坏
echo "===== 🔍 主站安全验证 ====="
echo ""
curl -s -o /dev/null -w "主站 HTTPS: HTTP %{http_code}" --max-time 10 https://guanghulab.com/
echo ""
nginx -t 2>&1
echo ""
echo "===== ✅ ====="
主站必须返回 200!如果不是 200,立即截图告诉妈妈!
📸 截图!
二、Phase 2 · 运行冒烟测试脚本(P0)
目的:验证子域名沙箱部署是否成功,全链路是否通。
sudo bash scripts/smoke-test-subdomains.sh
这个脚本会测试:
- 主站 head/tail 检查(确认没被破坏)
- 子域名 HTTPS 访问
- HTTP → HTTPS 自动重定向
- SSL 证书验证
- 路径遍历隔离(安全测试:子域名之间不能互相访问)
📸 截图完整输出!
结果解读:
- 全部
✅→ 🎉 部署成功! - 有
❌但主站✅→ 部分子域名有问题,截图告诉妈妈 - 主站
❌→ 立即停止!截图告诉妈妈!
三、Phase 3 · 修复 syslog-issue-pipeline.yml(P1)
目的:修复 GitHub Actions 里连续 479 次失败的 syslog pipeline。
步骤 3-1 · 在 GitHub 上打开文件
- 打开浏览器:
https://github.com/qinfendebingshuo/guanghulab - 导航到
.github/workflows/syslog-issue-pipeline.yml - 点击右上角的 ✏️ 编辑按钮
步骤 3-2 · 修改触发条件
找到文件顶部的 on: 部分,把 push 改成 issues:
修改前(大概长这样):
on:
push:
branches: [main]
修改后:
on:
issues:
types: [opened, edited, labeled]
步骤 3-3 · 提交修改
- Commit message 写:
fix: change syslog-issue-pipeline trigger from push to issues (manual fix, R5 restriction) - 选择 Commit directly to the
mainbranch - 点击 Commit changes
📸 截图提交前的 diff 页面 + 提交后的确认页面!
四、Phase 4 · 清理 DNS TXT 记录(P3)
目的:把 SSL 证书签发时添加的临时 TXT 记录删掉,保持 DNS 干净。
- 打开 阿里云控制台 →
guanghulab.com解析设置 - 找到所有
_acme-challenge的 TXT 记录(可能有 1-2 条) - 删除它们
📸 截图删除前后的 DNS 记录列表!
五、Phase 5 · 补充:NOTION_TOKEN 修复(P1 · 需要妈妈配合)
目的:修复 GitHub Secrets 里为空的 NOTION_TOKEN。
- 打开:
https://github.com/qinfendebingshuo/guanghulab/settings/secrets/actions - 找到
NOTION_TOKEN→ 点击 ✏️ 更新 - 粘贴妈妈给的 Token 值(
ntn_或secret_开头的长字符串) - 点击 Update secret
📸 截图确认 Secret 已更新(不要截图 Token 值本身!只截图更新成功的页面)!
六、完成后 · 诊断汇总表
肥猫做完所有步骤后,按下面格式汇报给妈妈:
📡 BC-INFRA-DEPLOY-002-FM · 完成报告 · DEV-002 肥猫
一、沙箱部署
- deploy-sandbox-server.sh 运行结果: [成功/失败/回滚]
- 主站 guanghulab.com: [状态码](必须正常!)
- nginx -t 结果: [ok/fail]
二、冒烟测试
- smoke-test-subdomains.sh 结果: [全通过/部分失败]
- 子域名 HTTPS 访问: [成功/失败]
- 路径遍历隔离: [通过/未通过]
三、syslog-pipeline 修复
- 触发条件已从 push 改为 issues: [是/否]
- commit SHA: [填写]
四、DNS TXT 清理
- _acme-challenge 记录已删除: [是/否]
五、NOTION_TOKEN
- 已更新: [是/否/跳过-待冰朔配置]
六、遗留事项
- [列出还没完成的或有问题的]
七、执行清单
| 步骤 | 内容 | 操作位置 | 优先级 | 预计时间 |
|---|---|---|---|---|
| Phase 1 | 运行沙箱部署脚本 | 服务器终端 | P0 | 5-10分钟 |
| Phase 2 | 运行冒烟测试脚本 | 服务器终端 | P0 | 3-5分钟 |
| Phase 3 | 修复 syslog-issue-pipeline | GitHub 网页 | P1 | 5分钟 |
| Phase 4 | 清理 DNS TXT 记录 | 阿里云控制台 | P3 | 2分钟 |
| Phase 5 | 修复 NOTION_TOKEN | GitHub Secrets | P1 | 2分钟(需妈妈配合) |
总计约 20-25 分钟。
关联文档
- 前置广播(DNS+SSL):📡 BC-INFRA-DNS-SSL-001-FM · DEV-002肥猫 · 基础设施·通配符DNS + SSL证书签发 + 沙箱子域名验证 + Nginx备用站路由修复 · Phase 6 前置 · 🐱 舒舒线 · EL-6(2026-03-26 · 霜砚签发 · 冰朔授权)
- 铸渊补充指令上卷:⚡ 铸渊补充指令(上卷)|天眼全局启动 + 合并膜排查修复 + syslog-pipeline修复(ZY-AGEOS-TOWER-2026-0326-001-S1)· 霜砚签发 · 冰朔授权
- 铸渊补充指令下卷:⚡ 铸渊补充指令(下卷)|子域名沙箱部署 + 全链路冒烟测试 + 天眼部署后扫描 + 状态同步 + 回执(ZY-AGEOS-TOWER-2026-0326-001-S1)· 霜砚签发 · 冰朔授权
- 铸渊排查回执(根因分析):🔍 铸渊排查指令|备用站功能部署链路断裂排查 + 天眼全局启动 + 合并膜整体排查(ZY-DIAG-SITE-2026-0326-001)· 霜砚签发 · 冰朔授权
- 服务器部署适配协议 v1.0:🏗️ 服务器部署适配协议 v1.0(2026-03-15·曜冥签发)
📥 SYSLOG 回执区
肥猫完成后在这里粘贴 SYSLOG:
待肥猫填写