维基历史修订版本 (Historical Revision) a0017b6

MediaWiki 永久链 (Permalink)

这是由贡献者 yaoxiovo 于 2026年10月06日 (二) 06:52 提交的修订快照。 编辑摘要:“feat(wiki): 新增 related 编排互链体系与延伸阅读指引喵”

极速与安全的终极博弈:Astro 博客结合腾讯云 EdgeOne(海外版)与 Cloudflare 静态托管的双活架构实践 历史修订快照 · 版本号 a0017b6

Astro 博客海内外双活分发架构实践 喵~

一、 核心工程原则:隐私透明与自研闭环 (Core Principles) 喵~

在系统设计之初,团队便确立了四大底层工程铁律(Engineering Principles),指导所有网络与业务层架构的演进喵:

  • 自主授权与完全退出权 (Consent & Total Opt-Out):
    为保障站点防刷安全与基础访问体验,站点接入了必要的分析与监测体系(如自托管 Umami 统计与快猫星云行为监测等 Cookie)喵。但团队坚决恪守用户选择权至上:
    • 完全可拒绝 (Opt-Out Friendly):用户可随时选择“完全不同意”所有分析与行为 Cookie 喵。
    • 零阻断无障碍浏览 (Graceful Fallback):即便用户拒绝所有授权,系统也绝不进行任何访问限制或体验降级,用户依然可以畅通无阻地继续浏览整站全部内容喵!
  • 数据最小化与防追踪 (Privacy-First & Zero PII):
    严禁采集个人身份信息(PII),坚决拒绝商业广告追踪与跨站用户画像,所有监测数据仅用于底层服务稳定性巡检与恶意流量清洗喵。
  • 依赖极小化剪枝 (Minimal Dependencies):
    拒绝在工程中盲目引入臃肿的外部第三方全家桶,将外部供应链攻击面(Attack Surface)和运行时开销(Runtime Overhead)压缩至理论极限喵。
  • 核心链路最大化自研 (Maximal In-House Engineering):
    从身份鉴权、动态 API、写作中台到监控探针,全链路坚持原生自研,切断与外部商业 SaaS 的过度数据交集喵呜!

二、 架构背景与核心指标 (Background & SLO) 喵~

针对免备案/未在大陆备案的 Astro SSG 静态博客,传统单线 VPS 或单一海外 CDN 存在跨国延迟高、国内丢包严重与恶意盗刷风险喵。

团队在“纯净边缘、自研数据闭环、用户授权尊重”前提下,采用 腾讯云 EdgeOne(海外版)+ Cloudflare Pages 构建海内外双活网络,达成以下服务质量指标(SLO):

  • 延迟指标:中国境内核心地区 TTFB ≤ 50ms;境外各主要大区 TTFB ≤ 30ms 喵。
  • 隐私与风控指标:用户拒绝授权时 Cookie 写入率为 0,无感阻断率 100%;边缘 WAAP 拦截率 100%,被拦截恶意流量计费为 0 喵。
  • 交付指标:Git Push 触发 CI/CD 双端构建与全网节点同步发布耗时 ≤ 90s 喵。

三、 全球双活架构拓扑 (Architecture Topology) 喵~

graph TD
    User([全球用户访问]) --> DNS{DNS 智能分流解析}
    DNS -->|境内线路 (免备案加速)| EO[腾讯云 EdgeOne 海外版<br/>中国香港 Anycast 边缘 PoP]
    DNS -->|境外线路 (全球骨干网)| CF[Cloudflare Pages<br/>全球 300+ 边缘数据中心]
    
    subgraph 境内流量链路 (边缘分发 + 快猫星云风控/Cookie 严格遵循用户授权)
        EO -->|WAAP 防刷 / 速率限制| EOHost[(EdgeOne 静态托管存储)]
    end
    
    subgraph 境外流量链路 (边缘分发 + 自托管 Umami/Cookie 严格遵循用户授权)
        CF -->|HTTP/3 0-RTT / 无限带宽| CFPages[(Cloudflare 分布式边缘)]
    end
    
    subgraph 纯自研 CI/CD 自动化流水线
        Dev([Git Push main]) --> GHA[GitHub Actions]
        GHA -->|Astro 构建 dist/| GHA
        GHA -->|teo cli 同步 & Purge| EO
        GHA -->|wrangler pages deploy| CF
    end

四、 选型决策矩阵 (Decision Matrix) 喵~

评估维度 腾讯云 EdgeOne 海外版(主导境内) Cloudflare Pages(主导境外)
接入网络 中国香港及亚太直连优化 Anycast 节点喵 全球 300+ 城市 Anycast 边缘 PoP 节点喵
网络时延 免备案直连,电信/联通/移动延迟压制在 20ms~50ms 喵 依托全球骨干网,HTTP/3 (QUIC) 0-RTT 握手,海外 ~30ms 喵
安全与计费 集成 WAAP,被边缘规则拦截的流量不计入账单,杜绝刷量爆破喵 不限流量(Unlimited Bandwidth),免疫海外突发流量费用暴击喵
监测与 Cookie 策略 接入快猫星云风控监测,严格遵循用户授权;用户选不同意即阻断且继续畅读喵 接入自托管 Umami 隐私分析,不存 PII;用户拒绝则直接停止写入并正常提供服务喵

五、 生产落地配置 (Production Implementation) 喵~

5.1 Astro 静态打包配置 (astro.config.mjs) 喵

开启 HTML 极限压缩与带 Hash 静态资产分块,保障静态资源的纯净性喵:

import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
import svelte from '@astrojs/svelte';

export default defineConfig({
  site: 'https://yaoxi.wiki',
  integrations: [tailwind(), svelte()],
  compressHTML: true, // 开启原生 HTML 极限压缩
  vite: {
    build: {
      cssCodeSplit: true,
      rollupOptions: {
        output: {
          entryFileNames: 'assets/js/[name].[hash].js',
          chunkFileNames: 'assets/js/[name].[hash].js',
          assetFileNames: 'assets/[ext]/[name].[hash].[ext]',
        }
      }
    }
  }
});

5.2 CI/CD 双端自动化部署流水线 (.github/workflows/deploy.yml) 喵

name: Deploy Astro Blog to EdgeOne & Cloudflare

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Setup Node.js & pnpm
        uses: actions/setup-node@v4
        with:
          node-version: 20
      - uses: pnpm/action-setup@v3
        with:
          version: 9

      - name: Build Astro Site
        run: |
          pnpm install --frozen-lockfile
          pnpm build

      # 1. 部署至 Cloudflare Pages (主导境外)
      - name: Deploy to Cloudflare Pages
        uses: cloudflare/wrangler-action@v3
        with:
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
          command: pages deploy ./dist --project-name=yaoxi-blog --commit-dirty=true

      # 2. 部署至 腾讯云 EdgeOne 静态托管 (海外版,主导境内)
      - name: Deploy to Tencent EdgeOne Static Hosting
        env:
          TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
          TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
          EO_ENV_ID: ${{ secrets.EO_ENV_ID }}
        run: |
          npm install -g @tencentcloud/teo-cli
          teo hosting deploy ./dist --env-id $EO_ENV_ID --secret-id $TENCENT_SECRET_ID --secret-key $TENCENT_SECRET_KEY
          teo purge cache --env-id $EO_ENV_ID --urls "https://yaoxi.wiki/*" --secret-id $TENCENT_SECRET_ID --secret-key $TENCENT_SECRET_KEY

5.3 边缘缓存与安全策略 (Cache & Security Policies) 喵

  • 带 Hash 静态资产:配置 Cache-Control: public, max-age=31536000, immutable(强缓存 365 天)喵。
  • HTML 页面:边缘缓存 1 小时,客户端设置为 no-cache 并基于 ETag 进行协商缓存喵。
  • 速率限制 (Rate Limiting):单 IP 在 10s 内静态资源请求超出 200 次即触发边缘 403 阻断或验证码,阻断流量不计费喵。

六、 全栈工程演进路线图:以自研贯彻隐私安全 (Roadmap) 喵~

[核心准则: 最大化自研,透明授权,绝不强买强卖]
       │
       ├─► [已交付] 原生自研 OAuth 2.0 统一认证中心 SDK
       │     ├── 零第三方 SaaS (拒绝凭据上云与跨站数据互通)
       │     ├── 原生 Web Crypto API (超轻量纯净底层)
       │     ├── HMAC-SHA256 签名与单次 Token 生命周期
       │     └── Passkey SSO 免密多端统一鉴权
       │
       └─► [2026 国庆攻坚] 自研便捷写作系统 + 实时部署监测看板
             ├── 纯自持 Web/移动端快捷草稿秒发 (无外部中间商)
             └── 双端节点同步状态与健康度实时自主巡检

6.1 [已交付里程碑] 原生自研 OAuth 2.0 统一认证中心 SDK 喵

拒绝接入诸如 Auth0、Firebase 等商业第三方 Auth SaaS,彻底斩断用户凭证和行为数据被跨国收集、画像追踪的风险喵:

  • 原生轻量与零依赖:利用浏览器原生 Web Crypto API 实现加密与解密,无任何第三方依赖库,SDK 仅为常规方案体积的 20% 喵。
  • 数据主权绝对掌控:用户数据完全留存在团队自主可控的鉴权体系内,第三方平台毫无感知喵。
  • 企业级风控架构:
    • HMAC-SHA256 签名:请求携带动态时间戳与防篡改签名,杜绝中间人攻击喵。
    • One-time Token 生命周期:单次 client_request_token 严格一次性销毁,天然免疫重放与劫持喵。
    • Passkey SSO 接入:基于硬件安全密钥免密直连自研认证中心,兼顾极致便捷与零信任安全喵。

6.2 [待做计划事项] 2026 国庆黄金周自研系统攻坚 喵

坚决不采购或依赖外部第三方现成 SaaS,全流程自研打造高纯净度工作流闭环喵:

自研模块 核心技术目标 (坚持零第三方依赖与数据自主) 预期收益
✍️ 自研便捷写作系统 (Quick Writing) 1. 打造自持轻量 Web/移动端快捷编辑流,草稿数据直存自建存储,绝不经由第三方云笔记转接。
2. Markdown 自动化规范排版与 Frontmatter 格式合规校验。
3. 边缘私有媒体直传与自研 WebP 自动无损压缩转码。
随时随地快捷记录,全流程发文操作周期缩减至秒级,数据 100% 自主掌控喵~
📊 自研实时部署监测系统 (Deployment Monitor) 1. 挂载自主研发的 GitHub Actions 流水线探针。
2. 对 EdgeOne(境内)与 Cloudflare(境外)双端边缘状态发起主动健康巡检。
3. 构建自持的全球缓存同步延迟看板与故障告警网络。
彻底摆脱第三方商业监控平台对站点的侵入式探针扫描,实现双端版本 100% 透明可视化喵呜!

引用此文 (Cite this article)

已固定版本 a0017b6
遵循维基百科引用规范 · 支持一键复制
正在生成引用格式... 喵~