集成 cloudflare 的 Turnstile
变量 NEXT_PUBLIC_TURNSTILE_SITE_KEY: 构建时变量,需要配置到 build time 中 TURNSTILE_SECRET_KEY 步骤 Turnstile widgets
变量 NEXT_PUBLIC_TURNSTILE_SITE_KEY: 构建时变量,需要配置到 build time 中 TURNSTILE_SECRET_KEY 步骤 Turnstile widgets
是什么 是 Cloudflare的消息队列 目的 解耦、削峰、异步化 优势 至少一次(at-least-once)投递 批处理/重试/延迟 死信队列(DLQ) 不收 egress 带宽费 解决了什么问题 把重活从请求链路“挪走”:HTTP 请求先快速返回,把耗时任务(发邮件、写数据库、调用第三方 API、生成任务等)丢进队列慢慢处理,避免超时与抖动。 削峰填谷:流量突刺时先入队,消费者按可控并发/批量处理,防止下游(DB / 第三方)被打爆。 可靠性:失败自动重试,超过重试上限可进 DLQ 便于排查(否则达到上限会被删除)。 Workers 之外也能消费:支持 pull consumer,外部服务用 HTTP 拉取并 ack(注意是短轮询)。
Environment variables / 环境变量 运行时环境变量 build time环境变量
背景: 为了给 Example.com 配置 support@ 企业邮箱,不想买 Google Workspace($6/月),于是采用了“拼接”方案。 收信:Cloudflare Email Routing(转发到 Gmail)。 发信:AWS SES(SMTP 服务)。 客户端:Gmail 网页版(统一收发)。 1. 核心架构 收件路径:客户 -> support@ -> Cloudflare -> 转发至 Gmail。 发件路径:Gmail -> AWS SMTP 接口 -> AWS SES -> 客户。 2. 配置步骤 (Cheatsheet) 第一步:AWS SES 准备 (发信引擎) 验证域名:在 AWS SES (Region: us-west-2) 添加 Example.com,获取 DKIM 的 3 个 CNAME 记录。 移出沙盒:刚注册是 Sandbox 模式,必须点击 “Request Production Access”,理由填真实业务用途(如 Transactional emails for users)。 获取凭证: 入口:SES -> SMTP Settings -> Create SMTP credentials。 注意:下载 CSV 保存好,User/Pass 只显示一次。这不是 AWS 登录密码! 第二步:DNS 配置 (Cloudflare) 为了不进垃圾箱,必须配齐“安保三件套”: ...
R2 计费 你可以简单记成: 总共就三笔钱:存储 + 操作次数 +(如果用 IA)取回费。 出网到互联网(Egress)是免费的。 存储费用(Standard storage) 单价:$0.015 / GB-month ...
什么是llms.txt 配置 llmx.txt 增加流量
参考 https://techins.xyz/effortless-business-email-setup-with-cloudflare-and-gmail 发信 配置 路径 Settings -> Accounts and Import -> Send mail as -> Add another email address 配置项 名称:你希望用户看到的 Email address:用来让收件人看到的地址 点击下一步,配置 smtp 弹框 配置 smtp SMTP 服务器:smtp.gmail.com (选择使用 Gmail 的 SMTP(smtp.gmail.com),这封信是从你的 Gmail 账户 发送的, Gmail 只是帮你在邮件的「From(发件人)」字段里显示另一个邮箱地址。) 用户名:您的 Gmail 邮箱地址,你用来代发的邮箱 密码:您的 Gmail 应用专用密码(非常重要,普通密码不适用,下面会介绍如何获取这个密码,如果密码错误会有如下图所示的报错) 勾选 TLS 选项: 开启两步验证 https://myaccount.google.com/security 2-Step Verification 创建应用密码 访问:https://myaccount.google.com/apppasswords 输入名字,点击创建,保存生成的密码,
Cloudflare Tunnel 配置
参考资料: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-js-v3/ 需要获得这几个 key R2_ACCOUNT_ID: 一个账号是一个 ID R2_ACCESS_KEY_ID: R2_SECRET_ACCESS_KEY R2_BUCKET_NAME: Bucket的name 步骤 Step: 创建 Bucket 通过接口访问 Step: 生成 API Key R2 → "Manage R2 API Tokens" → Create API Token 选择 Edit 权限 → 选择对应的 Bucket 记录: Access Key ID Secret Access Key Account ID(在 R2 页面右上角) Step: 配置域名来获得 Public Access 设置自定义域名 s.example.com来获得 public access ...
在 Cloudflare 的 Page Rules(页面规则)中,你可以通过以下步骤设置 301 重定向,将 www.example.com 重定向到 example.com: 步骤: 登录 Cloudflare,进入你的 站点管理界面。 在左侧菜单中,点击 Rules(规则),然后选择 Page Rules(页面规则)。 点击 Create Page Rule(创建页面规则)。 在 If the URL matches(如果 URL 匹配)字段输入:https://www.example.com/* (注意 * 号表示匹配 www.example.com 下的所有路径) 在 Then the settings are(然后执行以下设置)中选择 Forwarding URL(转发 URL)。 在 Select status code(选择状态码)下拉菜单中,选择 301 - Permanent Redirect(301 - 永久重定向)。 在 Enter destination URL(输入目标 URL)中填入:https://example.com/{$1},($1 用于保留原始路径) 勾选 Preserve query string 点击 Save and Deploy(保存并部署)。 说明: 这样设置后,www.example.com/abc 会自动 301 重定向到 example.com/abc,确保所有子路径也正确跳转。 301 重定向是永久性重定向,有利于 SEO,使搜索引擎知道 example.com 是主站点。 确保 example.com 也在 Cloudflare 管理下,否则目标站点可能无法正确解析。 如果你的站点使用 Cloudflare 的 Redirect Rules(重定向规则),你也可以在 Rules > Redirect Rules 里进行类似的配置,推荐使用 301 永久重定向 以优化 SEO。 ...