<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cloudflare on 我的博客</title>
    <link>https://my-blog-bed.pages.dev/tags/cloudflare/</link>
    <description>Recent content in Cloudflare on 我的博客</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 20 May 2026 01:30:00 +0800</lastBuildDate>
    <atom:link href="https://my-blog-bed.pages.dev/tags/cloudflare/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>国内服务器 &#43; 海外免费服务：最优架构方案</title>
      <link>https://my-blog-bed.pages.dev/posts/architecture-plan/</link>
      <pubDate>Wed, 20 May 2026 01:30:00 +0800</pubDate>
      <guid>https://my-blog-bed.pages.dev/posts/architecture-plan/</guid>
      <description>&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;
&lt;p&gt;我在国内有一台后端服务器，想用海外免费的云服务（Cloudflare、Supabase、Vercel 等）来降低成本并规避自建数据库的风险。必要时走代理，整体做到&lt;strong&gt;接近零成本&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;本文分析这套方案的可行性，并给出最优架构。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;结论先行&#34;&gt;结论先行&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;完全可行。&lt;/strong&gt; 核心思路是：国内服务器做桥接层，所有海外服务在服务端调用（不受 GFW 影响），静态资源通过国内服务器反代加速。数据库用托管服务替代自建，消除运维风险。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一各个服务的网络可达性&#34;&gt;一、各个服务的网络可达性&lt;/h2&gt;
&lt;p&gt;这是最关键的问题。直接测一遍：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;服务&lt;/th&gt;
          &lt;th&gt;从国内服务器访问&lt;/th&gt;
          &lt;th&gt;从国内浏览器访问&lt;/th&gt;
          &lt;th&gt;说明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Supabase&lt;/strong&gt; (API/DB)&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;REST API/PostgreSQL 直连，延迟约 100-200ms&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Cloudflare R2&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;S3 兼容 API，服务端调用无问题&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Cloudflare Workers&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;服务端 HTTP 调用完全正常&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Cloudflare Pages&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;同上&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Resend&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;✅ 正常&lt;/td&gt;
          &lt;td&gt;邮件 API，调用链路短&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Vercel&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;❌ 被墙&lt;/td&gt;
          &lt;td&gt;需国内服务器反代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Netlify&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;❌ 被墙&lt;/td&gt;
          &lt;td&gt;同上&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Auth0 / Clerk&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;API 调用正常，前端 SDK 体验一般&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Sentry&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;✅ 可达&lt;/td&gt;
          &lt;td&gt;⚠️ 较慢&lt;/td&gt;
          &lt;td&gt;后端上报没问题&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;⚠️ 不稳定&lt;/td&gt;
          &lt;td&gt;⚠️ 不稳定&lt;/td&gt;
          &lt;td&gt;DNS 污染，建议 hosts 或代理&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Google Colab&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;❌ 被墙&lt;/td&gt;
          &lt;td&gt;❌ 被墙&lt;/td&gt;
          &lt;td&gt;需要全局代理&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;规律：&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloudflare Workers 能解决什么痛点？30&#43; 场景全梳理</title>
      <link>https://my-blog-bed.pages.dev/posts/cloudflare-workers-use-cases/</link>
      <pubDate>Wed, 20 May 2026 01:00:00 +0800</pubDate>
      <guid>https://my-blog-bed.pages.dev/posts/cloudflare-workers-use-cases/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;
&lt;p&gt;Cloudflare Workers 是一个在全球 300+ 节点运行的 Serverless 执行环境。很多人觉得它只是&amp;quot;云函数&amp;quot;的替代品，但它的真正价值在于&lt;strong&gt;运行在网络边缘&lt;/strong&gt;——请求在离用户最近的节点就被处理，延迟几乎为零。&lt;/p&gt;
&lt;p&gt;本文整理了 30+ 个真实可落地的场景，覆盖博客、电商、SaaS、API 网关等方向。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一博客内容站&#34;&gt;一、博客/内容站&lt;/h2&gt;
&lt;h3 id=&#34;1-没有评论系统&#34;&gt;1. 没有评论系统&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;痛点&lt;/strong&gt;：静态博客（Hugo/Gatsby/Next.js）没有后端，想加评论只能用 Disqus，臃肿、有广告、数据不在自己手里。
&lt;strong&gt;方案&lt;/strong&gt;：用 Workers + D1（边缘 SQLite）自建评论 API，前端用 Fetch 调用，数据完全自控，零成本。&lt;/p&gt;
&lt;h3 id=&#34;2-没有阅读统计&#34;&gt;2. 没有阅读统计&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;痛点&lt;/strong&gt;：想知道每篇文章有多少人看过，但不想上 Google Analytics（太重、隐私顾虑）。
&lt;strong&gt;方案&lt;/strong&gt;：Workers 配合 KV，每次访问 +1，支持按文章、按日期维度统计，数据存在自己账户下。&lt;/p&gt;
&lt;h3 id=&#34;3-站内搜索不可用&#34;&gt;3. 站内搜索不可用&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;痛点&lt;/strong&gt;：静态站没有后端，没法实现全文搜索。
&lt;strong&gt;方案&lt;/strong&gt;：Workers 定时爬取全站内容，提取文本建立倒排索引，存储在 D1 或 KV 中，对外提供搜索 API。&lt;/p&gt;
&lt;h3 id=&#34;4-文章链接改版造成-404&#34;&gt;4. 文章链接改版造成 404&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;痛点&lt;/strong&gt;：心血来潮改了一篇文章的 slug，旧链接全部 404，SEO 权重丢失。
&lt;strong&gt;方案&lt;/strong&gt;：Workers 维护一个 KV 映射表（旧路径 → 新路径），所有 404 请求自动 301 跳转。&lt;/p&gt;
&lt;h3 id=&#34;5-图片加载太慢&#34;&gt;5. 图片加载太慢&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;痛点&lt;/strong&gt;：文章里插了高清大图，移动端加载好几秒。
&lt;strong&gt;方案&lt;/strong&gt;：Workers 调用 Cloudflare Images API，自动压缩、裁切、转 WebP，按设备返回最合适的尺寸。&lt;/p&gt;</description>
    </item>
    <item>
      <title>我是如何搭建这个博客的</title>
      <link>https://my-blog-bed.pages.dev/posts/how-i-set-up-this-blog/</link>
      <pubDate>Wed, 20 May 2026 00:30:00 +0800</pubDate>
      <guid>https://my-blog-bed.pages.dev/posts/how-i-set-up-this-blog/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;
&lt;p&gt;2026年5月20日，我决定搭建一个自己的博客。整个过程从零开始，花了不到 30 分钟。&lt;/p&gt;
&lt;p&gt;本文记录完整的搭建过程。&lt;/p&gt;
&lt;h2 id=&#34;方案选择&#34;&gt;方案选择&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;框架&lt;/strong&gt;: Hugo（极速静态网站生成器）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;托管&lt;/strong&gt;: Cloudflare Pages（免费，自动部署）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代码托管&lt;/strong&gt;: GitHub&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主题&lt;/strong&gt;: PaperMod&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hugo 是一个用 Go 语言编写的静态网站生成器。你只需要写 Markdown 文章，Hugo 会自动将它们转换成 HTML 网页。&lt;/p&gt;
&lt;p&gt;Cloudflare Pages 连接 GitHub 仓库后，每次推送代码都会自动构建和部署，完全自动化。&lt;/p&gt;
&lt;h2 id=&#34;步骤一安装-hugo&#34;&gt;步骤一：安装 Hugo&lt;/h2&gt;
&lt;p&gt;在本地安装 Hugo：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Linux 环境&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/gohugoio/hugo/releases/download/v0.147.0/hugo_extended_0.147.0_linux-amd64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tar -xzf hugo_extended_0.147.0_linux-amd64.tar.gz hugo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mv hugo /usr/local/bin/hugo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;步骤二创建站点&#34;&gt;步骤二：创建站点&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new site my-blog --force
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd my-blog
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git submodule add https://github.com/adityatelange/hugo-PaperMod themes/PaperMod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;步骤三配置主题&#34;&gt;步骤三：配置主题&lt;/h2&gt;
&lt;p&gt;修改 &lt;code&gt;hugo.toml&lt;/code&gt; 配置文件，设置主题为 PaperMod，并配置博客标题、菜单等。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;baseURL&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://你的用户名.pages.dev/&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;languageCode&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zh-cn&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;title&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;我的博客&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;theme&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PaperMod&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ... 更多配置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;步骤四写第一篇文章&#34;&gt;步骤四：写第一篇文章&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new content posts/hello-world.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;编辑 Markdown 文件即可写文章。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
