全部文章
共 106 篇
-
PostgreSQL 14 停止支持倒计时:14 → 18 大版本升级的完整实操清单
PG 14 将在 2026-11-12 发布最后一个 minor 并结束支持。四种文件搬迁模式各有什么硬前提、统计信息怎么重建、回滚边界在哪,以及 799MB 与 308MB 两次真实升级的耗时。
-
PostgreSQL 18 异步 I/O 调优手册:io_method、io_workers 与 effective_io_concurrency 的真实默认值
PostgreSQL 18 的异步 I/O 由四个参数加一个编译选项决定。18.6 上的实测:点查负载下三种 io_method 无差别,暖缓存顺序扫描 worker 比 sync 快 1.5 倍,真冷盘则差不到 2%;io_combine_limit 抬到 1MB 反而慢 66%。
-
PgBouncer 容量数学:max_client_conn、文件描述符与 pool_size 的正确算法
官方默认 max_client_conn 只有 100,default_pool_size 只有 20。用官方的文件描述符公式算预算,再实测池模式:500 客户端加 50ms 思考时间下,transaction 9865 tps,session 只有 394 tps。
-
用 eBPF 拆开数据库 p99 长尾:bpftrace 三件套的判读矩阵
pg_stat_activity 显示一切正常、p99 却降不下来,问题通常在内核。三条判定路径对应三组 bpftrace 工具,附真实块 I/O 延迟直方图,以及一个自写探针的失败案例。
-
pg_stat_statements 三步定位慢查询:按总耗时排序,按缓存命中和 WAL 归因
按 mean_exec_time 排序是最常见的优化误区。改成按 total_exec_time 排序,用缓存命中、临时块落盘、WAL 字节三个字段归因,再用 EXPLAIN 验证,最后附两轮真实 Top-N。
-
冷缓存、热缓存与"假磁盘":同一台机器为什么能测出 10.9 GB/s 和 250 MB/s
同一台机器、同一条 SQL,能测出 10.9 GB/s 和 250 MB/s。差别不在数据库,在数据来自哪一层存储。四层缓存模型、三个自测数字、一份冷热对照脚本。
-
同一份 200 万行 CSV:DuckDB、PostgreSQL、SQLite 本地分析查询实测
2,000,000 行、93.6MB 的 CSV,三个引擎、三条聚合查询。DuckDB 单线程 14.6ms,PostgreSQL 并行 8 是 70ms,SQLite 766ms。附导入耗时、文件体积与选型边界。
-
Windows 上 docker run -p 绑不上端口:三种报错、一次不可复现的失败和一个反直觉结论
同一个端口昨天报 WSAEACCES、今天却能绑成功;人为加 Windows 保留段也无法复现失败,但"端口被占用"一测就中。附四步排查与三种处置。
-
逻辑复制做零停机升级:1M 行同步 1.6 秒,切换停顿 0.86 秒,附五个必踩的坑
PostgreSQL 14.24 到 18.6,逻辑复制全流程实测:初始同步 1.6s、20 秒写入压测下延迟 0 字节、切换停顿 0.86s。附 schema/序列/DDL 三个不同步问题与真实报错。
-
Python 连 PostgreSQL:连接比查询贵 40 倍,10 个线程反而比 1 个连接慢
psycopg3 与 asyncpg 实测:单连接 11184 qps,每次新建连接掉到 360 qps,10 线程比单连接慢 55%,asyncpg 10 连接并发 23601 qps。连接成本 p50 1.8ms。
-
项目:API 代理与限流,别让自己的 Worker 变成公用出口
用 KV 做固定窗口限流的真实效果:前 5 次 200,第 6 次起 429 并带 Retry-After;以及代理上游要做的路径白名单、密钥隔离、超时兜底与错误透传。
-
项目:状态页与监控,用两个免费组件做出来
定时 Worker 探测目标、KV 存最近状态、静态页读 JSON 渲染——状态页的最小架构;含只在状态变化时写入的省额度技巧与误报抑制。
-
成本控制与额度监控:免费额度什么时候会用完
把日额度换算成每小时速率,找出最先耗尽的那一项;三种监控手段(仪表盘、GraphQL Analytics、Worker 自记数)、降级策略与付费线在哪。
-
备份与配置导出:把 Cloudflare 上的东西变成能重建的文件
DNS、Workers、KV、R2、secrets 分别怎么导出,哪些导不出只能重建;附 KV 全量导出的真实输出与一份可执行的恢复演练清单。
-
故障排查手册:从 cf-ray 到一个具体的原因
按 DNS、证书、边缘、Worker、上游五层顺序定位;20 个常见状态码与错误码的含义、cf-ray 怎么读、wrangler tail 与 curl 的最小验证集。
-
性能与成本优化清单:按收益排序的 18 件事
把优化按"收益 ÷ 改动量"排序:缓存命中率、传输体积、执行时间、请求数量四个维度,附量化方法与哪些事在免费档上根本不值得做。
-
60 篇路线图与索引:从注册账号到能收费的站点
47–106 全 60 篇的分阶段索引,每篇一句话说明解决什么问题,附三条按目标走的阅读路径与文件清单。
-
读放大:一条返回 21 行的查询扫了 200 万行,代价是 351 倍
200 万行的表、10 万基数的 user_id。加索引前后:扫描行数 2 亿降到 0,缓冲区块 14720 降到 4,单查询 24.6ms 降到 0.07ms。附三条量化读放大的 SQL 与一个不成立的经验法则。
-
PostgreSQL 时间点恢复演练:pg_basebackup + WAL 归档 + recovery_target_time 的一次完整跑通
在 768 MB 的 postgres:18 容器里跑完一条完整的 PITR 链:0.75 秒、3.2 MB 的基线备份,128 MB 的 WAL 归档,3.22 秒把集群恢复到 DROP TABLE 之前。三次故意失败的恢复留下原始报错,也留下"备份成功不等于能恢复"的三个验收点。
-
Redis 持久化三选一:重启后丢多少、恢复要多久
同一份 20 万键数据,纯 RDB 崩溃丢 10000 条、AOF everysec 与 always 各丢 0 条;写入吞吐差 41 倍,文件体积差 3.69 倍,而重启恢复耗时几乎一样。四种数字全部来自 Docker 容器实测,含 AOF 重写前后的对照。
-
两个"卡住":在 kind 上把 topologySpreadConstraints 和 PodDisruptionBudget 撞到边界
在 Windows + Docker Desktop 上起 1 控制面 2 工作节点的 kind 集群,实测拓扑分布约束导致的 Pending(2/6 就绪、4 个 FailedScheduling)与 PDB 导致的驱逐拒绝(12 次重试、60.7 秒超时),并给出两者叠加时的真实事件原文与恢复耗时。
-
Nginx 反向代理的三个“看起来配了其实没生效”
upstream 里写了 keepalive 却仍有 500 条后端连接,proxy_read_timeout 设为 2s 却等 5s,499/502/504 分别由谁产生。四组 keepalive 配置、两轮 500 请求和原始日志。
-
把 PostgreSQL 塞进 512MB 容器:shared_buffers、连接开销与 work_mem 的内存账本
512MB 的 --memory 配 384MB 的 shared_buffers,实测只撑得住 33 条连接,34 条起随机被 OOM 杀,35 条起每轮必挂。但 docker inspect 给出的是 OOMKilled=true 加退出码 0,容器没有退出,被杀的是 checkpointer 或 backend。文章给出连接数阶梯、每连接 3.2MB 私有内存的测法,以及按 --memory 反推 shared_buffers 上限的公式。
-
PostgreSQL 18 参数速查:默认值、生效方式、改哪一层
17 个常改参数在 18.6 上的默认值与 context,附一条导出当前值的 SQL、三种改法的差别,以及三个容易改错层的坑。
-
pg_dump / pg_restore 常用组合:六条命令与四个坑
六条常用 dump/restore 组合、并行参数的真实报错(-j 只支持目录格式)、以及 owner/权限/序列/已存在对象四个坑。
-
容器里跑 PostgreSQL 的 8 条纪律(每条都踩过)
挂载点、停止方式、内存上限、checksums、时区、端口——8 条来自真实故障的规矩,附两条真实 panic 日志与 OOM 数字。
-
PostgreSQL 常见报错速查:12 条原文、含义与处置
从 role/database 不存在到死锁、too many clients、checksums 不一致,12 条常见报错的含义与第一步该做什么;其中 4 条为本机实测原文。
-
pg_stat_activity 一页纸:看哪几列、三条查询定位阻塞
22 个列里真正要看的是 6 个;state 与 wait_event_type 的取值怎么读;三条查询分别查长事务、阻塞树、idle in transaction 泄漏。
-
慢查询日志:log_min_duration_statement 与 auto_explain 怎么配
从一条真实日志行出发:日志参数怎么设、日志里有什么、auto_explain 怎么把执行计划也记下来,以及三个影响性能的开关。
-
PostgreSQL 索引类型速查:btree / hash / gin / gist / brin 各管什么
六种索引类型支持的运算符与适用场景,四个常见误用(BRIN 不看相关性、hash 想排序、GIN 写放大、index-only 缺 visibility map)。
-
timestamp 与 timestamptz:三个函数、两个时区、一个常见错误
两种时间类型都是 8 字节,差别在存储语义;now()、statement_timestamp()、clock_timestamp() 三个函数的区别有实测输出;附三个时区坑。
-
pgbench 速查:默认值、六组参数、一个容易自欺的规模陷阱
pgbench 的默认值(-c 1、-j 1、-t 10、-s 1)、五类常用参数、输出字段含义,以及 -s 小于 -c 时你在测的其实是锁竞争。
-
PostgreSQL 类型选择速查:字节数、精度与五个常见选错
常用类型的实际存储字节(实测 pg_type.typlen)、金额用 numeric 的代价、text 与 varchar 的真实差别,以及五个建表时最容易选错的类型。
-
Linux 排障六条命令:top、vmstat、iostat、ss、free、df 各看哪一行,按什么顺序打
六条命令的正确打开顺序与各自的判读字段:先用 df 和 free 排除硬故障,再用 top、vmstat、iostat 做 CPU 与 IO 归因,最后用 ss 看连接状态;附容器里看到宿主设备这类误读。
-
磁盘写满的四步定位:df 找出挂载点、du 找出目录、lsof 找出已删除未释放、df -i 找出 inode
四步顺序定位磁盘占满:df 定位挂载点、du -x 定位目录、lsof +L1 抓已删除但未释放的文件、df -i 排除 inode 耗尽;含一次 1 GiB 文件删除后空间不回收的实测记录。
-
systemd 与 journalctl 速查:unit 状态、失败重启计数、按时间与优先级过滤
unit 状态与重启次数的读法、journalctl 的时间/优先级/字段过滤、日志持久化与速率限制这两个隐藏开关;含容器内无 journald 时如何确认边界。
-
SSH 端口转发与免密速查:-L/-R/-D 的方向、ProxyJump 的写法、authorized_keys 的权限
三种转发方向与 ProxyJump 的对照表、authorized_keys 与 ~/.ssh 权限导致拒登的两条原始日志、以及 -o 用等号写转发参数会静默失效这个坑。
-
Docker 占满磁盘:image、container、volume、build cache 各占多少,按什么顺序清
用 docker system df -v 把四类占用拆开看,按容器→悬空镜像→构建缓存→未引用镜像→卷的顺序清;含 35 个无人引用卷占 14.52 GB 的真实盘面与 SHARED/UNIQUE 的读数陷阱。
-
TLS 证书检查:openssl s_client 看有效期与链、到期前多久换、四种握手报错的原文
s_client 的四个必查项(协议、有效期、链、主机名)与各自的通过标准;45 天剩余有效期的一次真实输出;wrong version number、Connection refused、self-signed、hostname mismatch 四类报错原文。
-
HTTP 5xx 归因:502/503/504 分别由谁产生、该看哪一层日志、怎么用 curl -v 定位
在 nginx 上分别构造出 502、503、504 并抓下 error_log 原文:502 是连接被拒(0.27ms)、504 是读超时(1.00s)、503 来自 limit_req;附 curl -v 该看哪几行。
-
定时任务对照:cron 与 systemd timer 的写法差异、时区与夏令时坑、日志到底在哪
同一个任务在 cron 与 systemd timer 下的两种写法对照,DST 缺失小时不执行/重复小时执行两次的原文依据,CRON_TZ 只在 cronie 生效的实测,以及容器内既无 syslog 也无 journald 时日志无处可看。
-
网络连通性排查顺序:DNS、TCP、TLS、HTTP 每层一条命令,四条报错对四个层
四层各一条命令的排查顺序,curl 退出码 6/7/35 各自对应哪一层;一次实测里 TLS 握手占了 64% 耗时,而 DNS 与 TCP 都在 2ms 内。
-
logrotate 速查:配置结构、copytruncate 的取舍、怎么强制测试一次
配置的两层结构与常用指令、rename 与 copytruncate 的 inode 级实测对照、不写 create 会导致 rotate 后原日志文件消失、以及 -f/-d 强制测试一次的正确姿势。
-
requests 2.34 实用手册:连接复用、超时与四个真实报错
requests 2.34.2 本机实测:Session 复用把单次请求从 11.74ms 压到 0.58ms,附不写 timeout、漏调 raise_for_status、JSONDecodeError 与 MissingSchema 的原始报错。
-
httpx 0.28 同步与异步:同一份代码两种写法,12 个请求差 8.5 倍
httpx 0.28.1 实测:12 个各 0.3 秒的请求,同步串行 3.62s、异步并发 0.43s;附系统代理把 127.0.0.1 打成 502、忘记 await、raise_for_status 与流式字节数四个真实问题。
-
pydantic v2 数据校验:9 条错误一次报完,和三个默认行为
pydantic 2.14.3 实测:一个嵌套模型收集 9 条校验错误、字段路径精确到 address.zipcode;附赋值不校验、computed_field 混进 dump、extra 默认 ignore、v1 validator 弃用警告四个坑。
-
pandas 3.1 表格处理:向量化快 35 倍,四个默认行为要当心
pandas 3.1.1 实测:2 万行相乘向量化 0.05ms、逐行 1.92ms(35 倍);附链式赋值不生效、groupby 丢 NaN 组、前导零变整数、merge 键重复放大行数四个坑。
-
SQLAlchemy 2.1 上手:Core 与 ORM 的最小组合,加四条真实报错
SQLAlchemy 2.1.8 配本地 SQLite:Core 建表查询与 ORM 关系映射各跑一遍,附 NoForeignKeysError、DetachedInstanceError、懒加载 6 条 SQL 对比 selectinload 的 2 条、Mapped[float] 变 DOUBLE 四个坑。
-
pytest 9.2 实战:fixture、参数化,和三条真实失败输出
pytest 9.2.0 本机跑 15 个用例:2 failed / 12 passed / 1 skipped,附断言自省原文、pytest.raises 类型不符、ScopeMismatch 与 fixture 未定义四条真实输出。
-
rich 15.0 终端输出:表格、进度条,和 markup 的两个陷阱
rich 15.0.0 实测:表格自动对齐中英文混排、进度条最后一帧、Syntax 高亮,附 MarkupError 原文、未闭合标签静默吞字、非终端丢颜色与没有 __version__ 四个问题。
-
typer 0.29 命令行工具:类型注解直接变参数,四个真实退出码
typer 0.29.0 实测:参数、选项、子命令、Enum 全部由类型注解推导,help 自动分栏;附缺参数、类型错、路径不存在三种 exit 2 原文与通配符被 shell 展开的报错。
-
loguru 0.7 日志:一个 logger 走到底,和三个默认行为
loguru 0.7.3 实测:默认 sink 是 stderr、2KB 轮转出 4 个文件、serialize 输出的 JSON 行含完整 record;附与标准 logging 互不相通、diagnose 打出变量值、多进程要 enqueue 三个问题。
-
tqdm 4.70:把进度条写对,避开三种常见误用
tqdm 4.70.1 实测:3 次迭代留下 2 个回车、无 total 时只剩速率、disable=True 写入 0 字符;附默认写 stderr、print 打断进度条、CI 日志里堆回车三个问题。
-
Cloudflare 免费额度总览:不花一分钱能搭出什么
Workers 每天 10 万请求、KV 每天 10 万读、Pages 2 万个文件、DNS 与 Universal SSL 免费——把这些额度拼起来,够跑一个个人站和几个小工具。附超限后的真实行为。
-
如何获取自己的域名:在哪买、买什么、别踩哪些坑
域名注册商怎么选、首年价与续费价的差别、WHOIS 隐私、实名与备案的关系,以及买完之后第一件事该做什么。
-
把域名接进 Cloudflare:NS 改完到生效要做的事
从添加站点到 NS 生效的完整步骤、用哪条命令验证、迁移期间为什么会中断,以及一个常见的顺序错误。
-
DNS 记录教学:A、CNAME、MX、TXT 各写什么
六种常用记录的写法与用途、代理开关对记录的影响、TTL 怎么选,以及三个最常见的配置错误;附真实域名查询结果。
-
免费 HTTPS:Cloudflare 的边缘证书是怎么发下来的
Universal SSL 的签发与续期、workers.dev 证书长什么样(实测 CN/签发者/90 天有效期)、Always Use HTTPS 怎么开,以及混合内容的排查。
-
Workers 还是 Pages:建站时先回答的三个问题
静态站、需要后端逻辑、要不要 Git 自动构建——三个问题决定选型;附两者的额度、能力边界与迁移方向。
-
用 Workers 搭第一个免费网站:从空目录到能访问的域名
三个文件、一条命令、3 秒部署。附真实部署输出(1.37 KiB、启动 2ms)与三个端点的实测响应,以及"为什么访问不存在的路径也返回 200"。
-
Workers 代码编写教学:一个 fetch 函数能做什么
fetch 处理函数的入参出参、用 URL 做路由、返回 JSON 与自定义头、读取 cf 对象、以及三个真实会踩的错(body 重复读、忘记 404、异步未 await)。
-
Workers 路由与自定义域:把 workers.dev 换成自己的域名
workers.dev 与自定义域的区别、routes 配置的两种写法、绑定前要满足的前提,以及一个"域名没 Active 就加不上"的排查顺序。
-
Cloudflare 免费额度速查:撞上限制时你会看到什么
Workers、KV、Pages 的免费额度一张表,超限后的 Error 1027 与 fail open/closed,以及哪个限制最容易先撞上。
-
Request 与 Response 对象详解:请求里有什么,响应怎么写
把 Request 的 method、URL、headers、cf、body 逐个拆开看,再用真实部署验证 Response 的五种写法:JSON 加状态码、多 Set-Cookie、流式返回、302 跳转、表单解析,以及 body 只能读一次的原始报错。
-
用 Hono 写 Workers 应用:路由、中间件、错误处理一次装好
Hono 4.13 在 Workers 上的完整跑通记录:单文件路由、路径参数、CORS 与日志中间件、Bearer 鉴权分组、HTTPException 与 notFound 兜底,附本地 dev 的真实状态码和 71.61 KiB 打包体积,以及 compatibility_date 超前的原始报错。
-
KV 存储入门:命名空间、读写与最终一致的实测延迟
从建命名空间到 Worker 里读写 KV 的完整流程,附本机实测延迟:写入 473ms、命中缓存读取 6ms、未命中 207ms、删除后 list 仍能看到旧 key 需要 45 秒才消失。
-
R2 与图床:对象存储的上传、取回与公开访问
R2 绑定、按 key 上传取回、etag 与 Cache-Control 的处理,附本机 workerd 模拟环境的完整实测输出;账号无 R2 权限,建桶与公开域名部分只给步骤并明确标注未执行。
-
D1 数据库入门:建表、参数化查询与批量写入
D1 绑定、schema 执行、prepare+bind 参数化查询、batch 批量写与 UNIQUE 冲突的原始报错,附本机 local 模式的实测返回,含每次写入的 meta 字段含义。
-
Durable Objects 入门:一个 ID 一个实例的强一致状态
DO 的单实例语义、类与 migrations 配置、storage 读写与 blockConcurrencyWhile、用 idFromName 拿 stub 的两种调用方式,以及它和 KV、D1 的分工边界。账号无权限,本篇只给配置与代码,未部署也未本地运行。
-
Workers 定时任务:cron 触发器与 scheduled 处理函数
triggers.crons 的配置写法、scheduled 处理函数的三个参数、UTC 与时区换算、ctx.waitUntil 的收尾作用,以及用 wrangler dev --test-scheduled 在本地触发定时任务的调试方式。
-
环境变量与 secrets:把配置和密钥分开管
wrangler.toml 的 [vars] 与 wrangler secret 的分工、本地 .dev.vars 的用法、多环境变量的隔离、以及三个真会踩的坑:值都是字符串、改了要重部署、日志里打出密钥。
-
wrangler dev 与调试:本地跑起来和线上不一样的地方
wrangler dev 的 local 与 remote 两种模式、启动日志怎么读、本地状态文件在哪、三个真遇到的报错原文(compatibility date 超前、日志路径、端口),以及断点与热重载的用法。
-
可观测性与日志:从 metrics 到 wrangler tail 的排查路径
Workers 的四层观测手段、console.log 去了哪里、wrangler tail 的实时过滤、结构化日志的写法,以及一条"先看指标、再看单请求、最后查历史"的排查顺序。
-
Pages 入门:把静态站交给全球网络
从连仓库到拿到 pages.dev 域名:Pages 的构建流程、直接上传的用法、免费额度边界,以及部署完成后该看哪几个页面。
-
Pages Functions:用目录结构写后端
functions 目录的文件路径就是路由:处理器命名、动态段取值、中间件串联、_routes.json 控制调用范围,以及免费额度从哪一刻开始计。
-
Pages 自定义域与预览部署:换域名,也换预览地址
把 pages.dev 换成自有域名,让每次分支推送生成带 hash 的预览地址,用 Access 挡住不该被看到的预览环境,并处理 apex 与 www 的分配。
-
构建配置与缓存:让 Pages 每次构建都可复现
根目录、构建命令、输出目录、监视路径、Node 版本与依赖缓存:六个配置项决定构建能否稳定复现,以及本地成功云端失败时该从哪查。
-
Astro 与 Hugo:静态站框架在 Pages 上的部署参数
Astro 与 Hugo 的构建命令、输出目录、版本锁定方式,静态输出与 SSR 输出的分界,以及主题用 submodule 引入时构建要补的那一步。
-
Pages 与 Workers 静态资源:同一件事的两种做法
assets 目录与 ASSETS 绑定、命中静态文件就不进 Worker 的路由规则、not_found_handling 与 run_worker_first 的取舍,以及新项目该选哪边。
-
图片优化:免费额度内能做的四件事
免费档没有图片处理服务,优化要在构建期完成:尺寸分级、现代格式、宽高占位、加载优先级,外加大图放 R2 的分界。
-
缓存规则:把哪些请求留在边缘
默认只缓存静态扩展名、HTML 不缓存,四条规则覆盖静态资源、页面、接口与后台,配合 cf-cache-status 验证命中,再用清除与 Dev Mode 收拾残局。
-
重定向与批量重定向:几千条旧链接怎么搬
_redirects 文件的语法与 2,000 条静态上限、通配符与占位符写法、换域名时用 Bulk Redirects 批量导入,以及 301 被浏览器记住后怎么收拾。
-
站点性能与 Web Analytics:先看见,再优化
Web Analytics 的免费真实用户数据怎么开、Core Web Vitals 四项指标对应的具体改动、以及按投入产出排出的优化顺序。
-
WAF 入门:免费计划能配出的第一层防护
免费计划里的 WAF 包含什么:免费托管规则集、自定义规则的条数与表达式写法、五种动作的差别,以及用 Security Events 验证规则是否真的生效。
-
速率限制:免费档一条规则怎么用出效果
免费档只有一条速率限制规则、只按路径匹配、周期只有 10 秒。讲清阈值怎么算、动作怎么选,附固定窗口与滑动窗口在同一组请求下的实测差异。
-
Bot 管理:免费档的一个开关与它的副作用
免费计划只有 Bot Fight Mode 一个开关,它按已知机器人名单与浏览器指纹下发挑战,会误伤 API 客户端与监控探针。讲清开之前要排除什么、开了之后怎么确认效果。
-
Zero Trust Access:给内部工具加一层登录,不改代码
免费档 50 个席位,用内置的一次性验证码就能把后台、预览环境、内部工具挡在登录页后面。Access 在边缘拦截,应用本身不需要改代码;需要改的是你对"公开域名"的理解。
-
Turnstile 人机验证:前端一个 div,后端一次 POST
Turnstile 免费、可用于任意站点,不要求域名在 Cloudflare 上。前端嵌一个容器,后端调用 siteverify,token 单次有效 300 秒。附本机用测试密钥真实调用 siteverify 的返回。
-
SSL/TLS 模式:Flexible、Full、Full (strict) 怎么选
四种回源模式的实际差别、Flexible 引发重定向循环的原因、Full (strict) 需要的证书条件,以及 525/526 这类报错对应的具体故障点。
-
安全响应头与 HSTS:用 Worker 一次配全
Cloudflare 只自动加 CF-RAY、NEL 这类头,CSP、HSTS、X-Frame-Options 要自己配。附一个真实部署的 Worker,以及抓回来的完整响应头。
-
DDoS 防护:免费计划里哪些是自动的,哪些要你动手
网络层与应用层的防护在免费档里是两套机制:前者全自动且不计量,后者要靠 WAF 规则、限流与缓存命中率。附被打时的处理顺序与 Under Attack Mode 的副作用。
-
日志与 Logpush:免费档能看到什么,看不到什么
控制台分析、Security Events、wrangler tail 是免费档的三条日志路径,Logpush 外送要付费。附一次真实 tail 抓到的结构化日志,以及 tail 输出里 Ok 与 Exception 的含义。
-
攻击排查顺序:从 Ray ID 到处置的七步
把"站点被打"拆成可判定的七步:先定位请求停在哪一层,再按类型选手段,最后才是改配置。附状态码对照表与一条 curl 判定命令。
-
Cloudflare 托管 DNS 的注意事项
把域名的 NS 交给 Cloudflare 之后,哪些行为会变、哪些记录不能开代理、改 NS 前后要准备什么;附真实域名的 NS、SOA 与 TTL 查询结果。
-
Email Routing 免费收信转发:把自有域名变成邮箱入口
用 Cloudflare Email Routing 把 hello@yourdomain 转到已有邮箱的完整流程、它自动写入的 MX 与 SPF 记录、与现有邮箱共存的限制,以及转发链上 SPF/DMARC 为什么会断。
-
SPF / DKIM / DMARC:三条记录各管什么
SPF 授权发信 IP、DKIM 给邮件签名、DMARC 定策略并收报告;三条记录的写法、Cloudflare DNS 里的填法、10 次查询上限的坑,附 Google 与 Cloudflare 域名的真实记录。
-
DNSSEC 开通与验证:给解析结果加签名
DNSSEC 的信任链怎么串、Cloudflare 一键开通后要去注册商填哪四个参数、怎么用 AD 标志验证,以及 DS 填错导致全站 SERVFAIL 的恢复顺序;附真实 DS 记录与验证结果。
-
子域与泛解析:什么时候该开 `*` 记录
子域的规划方式、泛解析的匹配规则与优先级、它和多租户/证书/Workers 路由的关系,以及什么时候不该开;附 github.io 与 cloudflare.com 的真实泛解析对照查询。
-
CNAME 接入:把第三方服务挂到自己的子域
CNAME 的跟随解析、与其它记录的互斥规则、根域为什么特殊、接 Pages 与 SaaS 时的代理开关顺序,以及开了代理后为什么查不到 CNAME;附真实 CNAME 查询结果。
-
域名转移与续费:状态码、赎回期与几个真实坑
域名到期后的四个阶段与各自代价、RDAP 里三种 prohibited 状态的含义、转移动的完整链路与 60 天锁定期,以及首年低价续费贵的识别方法;附真实域名的 RDAP 到期与状态数据。
-
多域名与重定向:把几个域名收成一个入口
主域与别名的组织方式、301/302/307/308 的选择、Cloudflare 上做重定向的三条路径、重定向链与 HSTS 的坑;附 github.com 的真实跳转响应头。
-
DNS 排错:用 dig 与 DoH 定位到底卡在哪一层
把解析拆成缓存、递归、权威三层逐一验证的方法、DoH JSON 字段的读法、NXDOMAIN 与 NODATA 的区别,以及五个高频现象的判断路径;附真实 DoH 应答。
-
域名合规与国内访问:备案、实名与跨境链路
域名实名、ICP 备案、公安备案各管什么,什么情况下不需要备案,Cloudflare 中国网络的门槛,以及跨境访问的真实体验与一次测量踩坑记录。
-
项目:用 Workers 与 KV 做一个免费短链服务
一个 KV 命名空间加 80 行代码,做出可用的短链服务;附真实部署输出、302 跳转实测,以及 KV 最终一致性和写入额度的真实边界。
-
项目:用 R2 做一个不花流量费的图床
R2 免费 10 GB 存储、100 万次写、1000 万次读,出站流量不计费;这套图床的设计取舍、上传鉴权、缓存头与成本估算,附无法实机验证的部分。
-
项目:用 Pages 搭一个长期免费的个人博客
Pages 每月 500 次构建、2 万个文件、流量不计费;博客的三条部署路线、构建参数怎么填、自定义域与预览部署,以及构建次数的真实边界。
没有匹配的文章,换个关键词或标签试试。