shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/📡 BC-INFRA-DEPLOY-002-FM · DEV-002肥猫 · 沙箱部署脚本执行 + a2b40222b545457d88fe11d34f534ea9.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

13 KiB
Raw Permalink Blame History

belongs_to
belongs_to
INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议

📡 BC-INFRA-DEPLOY-002-FM · DEV-002肥猫 · 沙箱部署脚本执行 + 冒烟测试 + syslog-pipeline修复 + DNS TXT清理 · 🐱 舒舒线 · EL-52026-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.ymlP1

目的:修复 GitHub Actions 里连续 479 次失败的 syslog pipeline。

步骤 3-1 · 在 GitHub 上打开文件

  1. 打开浏览器:https://github.com/qinfendebingshuo/guanghulab
  2. 导航到 .github/workflows/syslog-issue-pipeline.yml
  3. 点击右上角的 ✏️ 编辑按钮

步骤 3-2 · 修改触发条件

找到文件顶部的 on: 部分,把 push 改成 issues

修改前(大概长这样):

on:
  push:
    branches: [main]

修改后

on:
  issues:
    types: [opened, edited, labeled]

步骤 3-3 · 提交修改

  1. Commit message 写:fix: change syslog-issue-pipeline trigger from push to issues (manual fix, R5 restriction)
  2. 选择 Commit directly to the main branch
  3. 点击 Commit changes

📸 截图提交前的 diff 页面 + 提交后的确认页面!


四、Phase 4 · 清理 DNS TXT 记录P3

目的:把 SSL 证书签发时添加的临时 TXT 记录删掉,保持 DNS 干净。

  1. 打开 阿里云控制台guanghulab.com 解析设置
  2. 找到所有 _acme-challenge 的 TXT 记录(可能有 1-2 条)
  3. 删除它们

📸 截图删除前后的 DNS 记录列表!


五、Phase 5 · 补充NOTION_TOKEN 修复P1 · 需要妈妈配合)

目的:修复 GitHub Secrets 里为空的 NOTION_TOKEN

  1. 打开:https://github.com/qinfendebingshuo/guanghulab/settings/secrets/actions
  2. 找到 NOTION_TOKEN → 点击 ✏️ 更新
  3. 粘贴妈妈给的 Token 值(ntn_secret_ 开头的长字符串)
  4. 点击 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 分钟。


关联文档



📥 SYSLOG 回执区

肥猫完成后在这里粘贴 SYSLOG

待肥猫填写