[{"data":1,"prerenderedAt":1832},["ShallowReactive",2],{"site-search-articles":3,"article-\u002Fblog\u002F40\u002F09-cloudflare-ip":403,"article-around-\u002Fblog\u002F40\u002F09-cloudflare-ip":1773},[4,17,29,40,51,60,68,76,83,90,98,104,110,116,128,137,145,154,163,170,178,184,190,195,202,210,215,221,226,232,237,245,252,257,264,272,276,282,289,295,299,303,308,313,319,324,328,333,340,346,351,359,365,372,378,385,392,398],{"id":5,"path":6,"title":7,"description":8,"date":9,"tags":10,"category":14,"minutes":15,"pinned":16},"blog\u002Fblog\u002Fnuxt4-vuetify4-blog.md","\u002Fblog\u002Fnuxt4-vuetify4-blog","Nuxt 4 + Vuetify 4 个人博客搭建记录","从内容结构、组件分层到服务端渲染，记录这个博客从零开始的完整实现过程。","2026-08-30",[11,12,13],"Nuxt","Vuetify","博客","开发",12,true,{"id":18,"path":19,"title":20,"description":21,"date":22,"tags":23,"category":26,"minutes":27,"pinned":28},"blog\u002Fblog\u002Fphoto-migration.md","\u002Fblog\u002Fphoto-migration","Google 相册迁移到 iCloud 分享","梳理照片导出、元数据修复与共享图库迁移过程，记录几个容易忽略的细节。","2026-08-26",[24,25],"相册","iCloud","生活",8,false,{"id":30,"path":31,"title":32,"description":33,"date":34,"tags":35,"category":14,"minutes":39,"pinned":28},"blog\u002Fblog\u002Fdocker-proxy.md","\u002Fblog\u002Fdocker-proxy","Docker 部署与反向代理配置","使用多阶段构建、容器重启策略和 Nginx 反向代理完成博客服务的可重复部署。","2026-08-18",[36,37,38],"Docker","Nginx","部署",10,{"id":41,"path":42,"title":43,"description":44,"date":45,"tags":46,"category":49,"minutes":50,"pinned":28},"blog\u002Fblog\u002Fsummer-coast.md","\u002Fblog\u002Fsummer-coast","一组夏日海边照片","把散落在相机和手机里的片段整理成一篇安静的夏日相册。","2026-08-09",[47,48],"摄影","夏日","随记",5,{"id":52,"path":53,"title":54,"description":54,"date":55,"tags":56,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F09-CloudFlare 优选 IP.md","\u002Fblog\u002F40\u002F09-cloudflare-ip","CloudFlare 优选 IP","2026-07-22 03:17:28",[57,58],"Cloudflare","优选域名","Blog",{"id":61,"path":62,"title":63,"description":63,"date":64,"tags":65,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F08-Cloudflare ImgBed 免费私有图床完整部署手册.md","\u002Fblog\u002F40\u002F08-cloudflare-imgbed","Cloudflare ImgBed 免费私有图床完整部署手册","2026-07-19 02:09:08",[57,66,67],"对象存储","图床",{"id":69,"path":70,"title":71,"description":71,"date":72,"tags":73,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F07-腾讯云 EdgeOne 边缘函数实现七牛&S3 随机图床 API.md","\u002Fblog\u002F40\u002F07-edgeone-ands3-api","腾讯云 EdgeOne 边缘函数实现七牛云 & S3 存储随机图床 API","2026-07-13 21:25:48",[74,75,67],"EdgeOne","七牛云",{"id":77,"path":78,"title":79,"description":79,"date":80,"tags":81,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F06-腾讯 EdgeOne 部署 Twikoo 评论系统指南.md","\u002Fblog\u002F40\u002F06-edgeone-twikoo","腾讯EdgeOne部署Twikoo评论系统指南","2026-06-14 17:41:11",[74,82],"Twikoo",{"id":84,"path":85,"title":86,"description":86,"date":87,"tags":88,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F05-OpenList 接入 S3 对象存储完整使用教程.md","\u002Fblog\u002F40\u002F05-openlist-s3","OpenList 接入 S3 对象存储完整使用教程","2026-06-11 13:08:07",[66,89],"OpenList",{"id":91,"path":92,"title":93,"description":94,"date":95,"tags":96,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F04-赛博大善人Cloudflare R2 图床.md","\u002Fblog\u002F40\u002F04-cloudflare-r2","赛博大善人 Cloudflare R2 图床","基于 Cloudflare R2 + 腾讯 Edge One + PicList 搭建免费、全球加速的图床方案","2026-06-09 13:07:35",[59,67,97],"CDN加速",{"id":99,"path":100,"title":101,"description":101,"date":102,"tags":103,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F03-白嫖免费图床，套CDN加速.md","\u002Fblog\u002F40\u002F03-cdn","白嫖免费图床，套 CDN 加速","2026-06-09",[59,67,97],{"id":105,"path":106,"title":107,"description":107,"date":108,"tags":109,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F02-零基础优雅搭建静态博客全教程.md","\u002Fblog\u002F40\u002F02","零基础优雅搭建静态博客全教程","2026-06-04",[59],{"id":111,"path":112,"title":113,"description":113,"date":114,"tags":115,"category":59,"minutes":50,"pinned":28},"blog\u002Fblog\u002F40-博客搭建\u002F01-远古产物—博客.md","\u002Fblog\u002F40\u002F01","赛博空间的私人岛屿：博客架构与风格美学","2026-06-03",[59],{"id":117,"path":118,"title":119,"description":119,"date":120,"tags":121,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F15.关于NAT回流与内网域名直连的终极指南.md","\u002Fblog\u002F10\u002F20\u002Fnat","关于 NAT 回流与内网域名直连的终极指南","2026-05-13",[122,123,124,125,126],"docker","DNS","Lucky","NAT 回流","远程访问","软路由",{"id":129,"path":130,"title":131,"description":131,"date":132,"tags":133,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F25.基于QMediaSync的飞牛外网strm直连.md","\u002Fblog\u002F10\u002F30-nas\u002Fqmediasyncstrm","基于 Lucky 反代与 QMediaSync 的飞牛外网 STRM 直连","2026-02-08",[134,135,136],"NAS","飞牛 OS","Strm",{"id":138,"path":139,"title":140,"description":140,"date":141,"tags":142,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F14.基于飞牛漏洞安全访问lucky反代&雷池防护.md","\u002Fblog\u002F10\u002F20\u002Fluckyand","基于飞牛漏洞安全访问Lucky反代&雷池防护","2026-02-03",[122,143,124,144,126],"WAF","飞牛",{"id":146,"path":147,"title":148,"description":148,"date":149,"tags":150,"category":153,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F60-N1&玩客云&OEC\u002F03.oec-fnOS安装.md","\u002Fblog\u002F10\u002F60-n1andandoec\u002Foec-fnos","OEC-Turbo (RK3566) 安装飞牛 OS","2026-01-24",[151,152,134],"OEC","飞牛OS","N1&玩客云&OEC",{"id":155,"path":156,"title":157,"description":157,"date":158,"tags":159,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F13.Lucky反向代理终极指南.md","\u002Fblog\u002F10\u002F20\u002Flucky","Lucky 反向代理终极指南","2026-01-16",[122,160,161,124,162,126],"OpenWRT","IPv4","IPv6",{"id":164,"path":165,"title":166,"description":166,"date":167,"tags":168,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F11.NAS 导航页的终极形态.md","\u002Fblog\u002F10\u002F10-docker\u002Fnas","告别繁琐配置：NAS 导航页的终极形态 —— 从 Sun-Panel 到 FlatNAS","2026-01-05",[122,134,169],"导航页",{"id":171,"path":172,"title":173,"description":173,"date":174,"tags":175,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F10.LogVar 弹幕 API 部署指南.md","\u002Fblog\u002F10\u002F10-docker\u002Flogvar-api","LogVar 弹幕 API  (纯本地缓存版) 部署指南","2025-12-30",[122,176,177],"弹幕 API","媒体库",{"id":179,"path":180,"title":181,"description":181,"date":182,"tags":183,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F24.飞牛NAS第三方应用商店安装.md","\u002Fblog\u002F10\u002F30-nas\u002Fnas","飞牛 NAS 第三方应用商店 (FnDepot) 安装指南","2025-12-02",[134,135],{"id":185,"path":186,"title":187,"description":187,"date":188,"tags":189,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F09.兰空图床和高清图标库.md","\u002Fblog\u002F10\u002F10-docker","兰空图床和高清图标库","2025-11-15",[122,67],{"id":191,"path":186,"title":192,"description":192,"date":193,"tags":194,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F08.你是否需要一个图床？.md","你是否需要一个图床？","2025-11-14",[122,67],{"id":196,"path":197,"title":198,"description":198,"date":199,"tags":200,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F23.Hills播放器-Windows-安卓.md","\u002Fblog\u002F10\u002F30-nas\u002Fhills-windows","Hills 播放器（Windows + 安卓）","2025-11-10",[201],"Emby 第三方播放器",{"id":203,"path":204,"title":205,"description":205,"date":206,"tags":207,"category":208,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F50-Linux\u002F02.Debian13换源.md","\u002Fblog\u002F10\u002F50-linux\u002Fdebian13","Debian13 换源","2025-09-10",[208,209],"Linux","debian",{"id":211,"path":212,"title":213,"description":213,"date":206,"tags":214,"category":208,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F50-Linux\u002F04.Linux系统，音响有底噪.md","\u002Fblog\u002F10\u002F50-linux\u002Flinux","Linux 系统，音响有底噪怎么办？",[208],{"id":216,"path":217,"title":218,"description":218,"date":206,"tags":219,"category":208,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F50-Linux\u002F05.一键DD纯净系统脚本.md","\u002Fblog\u002F10\u002F50-linux\u002Fdd","一键 DD 纯净系统脚本",[208,220],"dd 系统",{"id":222,"path":223,"title":224,"description":224,"date":206,"tags":225,"category":208,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F50-Linux\u002F08.一行代码降低服务器功耗.md","\u002Fblog\u002F10\u002F50-linux","一行代码降低服务器功耗",[208,209],{"id":227,"path":228,"title":229,"description":229,"date":206,"tags":230,"category":153,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F60-N1&玩客云&OEC\u002F01.N1盒子永不为奴-Armbian.md","\u002Fblog\u002F10\u002F60-n1andandoec\u002Fn1-armbian","N1 盒子永不为奴 Armbian",[231,208],"N1",{"id":233,"path":234,"title":235,"description":235,"date":206,"tags":236,"category":153,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F60-N1&玩客云&OEC\u002F02.OEC站起来了-Armbian.md","\u002Fblog\u002F10\u002F60-n1andandoec\u002Foec-armbian","OEC 盒子永不为奴 Armbian",[151,208],{"id":238,"path":239,"title":240,"description":241,"date":242,"tags":243,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F01.容器&docker&docker-compose.md","\u002Fblog\u002F10\u002F10-docker\u002Fanddockeranddocker-compose","容器 & docker & docker-compose","初识 yaml 语法和 docker","2025-08-05",[122,244],"yaml",{"id":246,"path":247,"title":248,"description":249,"date":242,"tags":250,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F02.容器项目&下载类.md","\u002Fblog\u002F10\u002F10-docker\u002Fand","容器项目&下载类","采用docker搭建下载服务",[122,244,251],"下载",{"id":253,"path":247,"title":254,"description":255,"date":242,"tags":256,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F03.容器项目&相册类.md","容器项目&相册类","采用 docker 搭建 AI 相册",[122,244,24],{"id":258,"path":247,"title":259,"description":260,"date":242,"tags":261,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目&影视类.md","容器项目&影视类","采用 docker 影视媒体库",[122,244,262,263],"影视媒体库","Emby",{"id":265,"path":266,"title":267,"description":268,"date":242,"tags":269,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F05.Emby直连115网盘（一）.md","\u002Fblog\u002F10\u002F10-docker\u002Femby115","Emby直连115网盘（一）","使用 Emby 直连 115 网盘",[122,244,262,263,270,271],"strm","115 网盘",{"id":273,"path":266,"title":274,"description":268,"date":242,"tags":275,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F06.Emby直连115网盘（二）.md","Emby直连115网盘（二）",[122,244,262,263,270,271],{"id":277,"path":278,"title":279,"description":279,"date":242,"tags":280,"category":122,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F07.Adguard Home去广告.md","\u002Fblog\u002F10\u002F10-docker\u002Fadguard-home","Adguard Home 去广告",[122,281],"Adguard Home",{"id":283,"path":284,"title":285,"description":286,"date":242,"tags":287,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F01.新的篇章，软路由.md","\u002Fblog\u002F10\u002F20","新的篇章，软路由","初识软路由",[127,288,160],"爱快",{"id":290,"path":284,"title":291,"description":292,"date":242,"tags":293,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F02.如何玩公网，怎么远程访问（一）.md","如何玩公网，怎么远程访问（一）","公网远程访问，IPv6也是公网",[127,126,294],"公网 IP",{"id":296,"path":284,"title":297,"description":292,"date":242,"tags":298,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F03.如何玩公网，怎么远程访问（二）.md","如何玩公网，怎么远程访问（二）",[127,126,294],{"id":300,"path":284,"title":301,"description":292,"date":242,"tags":302,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F04.如何玩公网，怎么远程访问（三）.md","如何玩公网，怎么远程访问（三）",[127,126,294],{"id":304,"path":284,"title":305,"description":305,"date":242,"tags":306,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F05.白嫖域名，远程访问.md","白嫖域名，远程访问",[127,126,307],"免费域名",{"id":309,"path":284,"title":310,"description":310,"date":242,"tags":311,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F06.没有公网如何远程访问.md","没有公网如何远程访问",[127,126,312],"内网穿透",{"id":314,"path":315,"title":316,"description":316,"date":242,"tags":317,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F07.爱快与OpenWRT双软路由MAC地址重复问题修正.md","\u002Fblog\u002F10\u002F20\u002Fopenwrtmac","爱快与 OpenWRT 双软路由MAC地址重复问题修正",[288,160,318],"MAC 地址",{"id":320,"path":321,"title":322,"description":322,"date":242,"tags":323,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F08.OpenWRT扩容.md","\u002Fblog\u002F10\u002F20\u002Fopenwrt","OpenWRT 扩容",[160],{"id":325,"path":321,"title":326,"description":326,"date":242,"tags":327,"category":127,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F20-软路由\u002F09.OpenWRT旁路由一条龙教程.md","OpenWRT 旁路由一条龙教程",[160],{"id":329,"path":330,"title":331,"description":331,"date":242,"tags":332,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F01.Emby刮削以及尽可能刮削到中文.md","\u002Fblog\u002F10\u002F30-nas\u002Femby","Emby 刮削以及尽可能刮削到中文",[263,177],{"id":334,"path":335,"title":336,"description":336,"date":242,"tags":337,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F02.Kodi&CoreELEC安装指南.md","\u002Fblog\u002F10\u002F30-nas\u002Fkodiandcoreelec","Kodi & CoreELEC 安装指南",[338,339,177],"Kodi","CoreELEC",{"id":341,"path":342,"title":343,"description":344,"date":242,"tags":345,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F20.飞牛OS的安装.md","\u002Fblog\u002F10\u002F30-nas\u002Fos","飞牛 OS 的安装","初识飞牛 NAS",[134,135],{"id":347,"path":342,"title":348,"description":349,"date":242,"tags":350,"category":134,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F30-NAS\u002F21.飞牛OS安装后必要配置.md","飞牛 OS 安装后必要配置","飞牛 NAS 基础配置",[134,135],{"id":352,"path":353,"title":354,"description":355,"date":242,"tags":356,"category":358,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F40-虚拟机\u002F01.新的篇章，PVE虚拟机.md","\u002Fblog\u002F10\u002F40\u002Fpve","新的篇章，PVE虚拟机","初识 PVE 虚拟机",[208,209,357,358],"PVE","虚拟机",{"id":360,"path":361,"title":362,"description":363,"date":242,"tags":364,"category":358,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F40-虚拟机\u002F03.基于PVE系统安装LXC-debian.md","\u002Fblog\u002F10\u002F40\u002Fpvelxc-debian","基于 PVE 系统安装 LXC-debian","初识 LXC debian",[208,209,357,358],{"id":366,"path":367,"title":368,"description":368,"date":242,"tags":369,"category":358,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F40-虚拟机\u002F07.Ventoy多系统启动盘制作与使用全指南.md","\u002Fblog\u002F10\u002F40\u002Fventoy","Ventoy 多系统启动盘制作与使用全指南",[370,371],"Ventoy","PE 系统",{"id":373,"path":374,"title":375,"description":376,"date":242,"tags":377,"category":358,"minutes":50,"pinned":28},"blog\u002Fblog\u002F10-技术专栏\u002F50-Linux\u002F01.新的篇章，debian12的配置.md","\u002Fblog\u002F10\u002F50-linux\u002Fdebian12","新的篇章，debian12 的配置","初识 debian 12",[208,209],{"id":379,"path":380,"title":381,"description":381,"date":242,"tags":382,"category":383,"minutes":50,"pinned":28},"blog\u002Fblog\u002F20-生活感悟\u002F02.在裂缝中种满阳光.md","\u002Fblog\u002F20","让灵魂带着光行走：在裂缝中种满太阳",[383,384],"生活感悟","随笔记录",{"id":386,"path":387,"title":388,"description":388,"date":242,"tags":389,"category":391,"minutes":50,"pinned":28},"blog\u002Fblog\u002F30-学习笔记\u002F01.Typora学习笔记.md","\u002Fblog\u002F30\u002Ftypora","Typora学习笔记",[390],"Typora","学习笔记",{"id":393,"path":394,"title":395,"description":395,"date":242,"tags":396,"category":391,"minutes":50,"pinned":28},"blog\u002Fblog\u002F30-学习笔记\u002F02.Markdown 拓展.md","\u002Fblog\u002F30\u002Fmarkdown","Markdown 拓展",[397],"Markdown",{"id":399,"path":380,"title":400,"description":400,"date":401,"tags":402,"category":383,"minutes":50,"pinned":28},"blog\u002Fblog\u002F20-生活感悟\u002F01.拥抱生活中的光与热.md","拥抱生活中的光与热","2025-07-05",[383,384],{"id":52,"title":54,"body":404,"category":59,"date":55,"description":54,"draft":28,"extension":1765,"meta":1766,"minutes":50,"navigation":16,"path":53,"pinned":28,"seo":1769,"stem":1770,"tags":1771,"__hash__":1772},{"type":405,"value":406,"toc":1735},"minimark",[407,411,416,428,442,445,449,454,463,473,477,580,584,592,598,620,625,633,638,653,657,660,676,826,829,831,835,839,868,872,901,905,922,924,928,932,1008,1012,1024,1029,1043,1045,1049,1053,1065,1081,1093,1114,1118,1130,1137,1198,1205,1219,1223,1238,1244,1288,1313,1318,1323,1352,1357,1366,1368,1372,1377,1382,1385,1390,1395,1400,1574,1579,1584,1588,1592,1598,1602,1620,1625,1697,1701,1708,1710,1714,1728,1731],[408,409,54],"h1",{"id":410},"cloudflare-优选-ip",[412,413,415],"h2",{"id":414},"_1-序言","1 序言",[417,418,419,420,424,425,427],"p",{},"在个人博客、静态站点、API 服务基于 ",[421,422,423],"strong",{},"CloudFlare"," 全球边缘网络部署后，多数开发者都会遇到共性问题：境外节点默认公共 IP 在国内访问场景下，存在加载慢、资源超时、访问抖动等问题。原生 ",[421,426,423],{}," 公共节点未针对国内跨境网络链路做适配，导致博客页面、静态图床、接口请求体验极差。",[417,429,430,431,438,439,441],{},"本文参考",[432,433,437],"a",{"href":434,"rel":435},"https:\u002F\u002F2x.nz\u002Fposts\u002Fcf-fastip",[436],"nofollow","二叉树树优选 IP 教程","方案，从业务痛点出发，完整拆解 ",[421,440,54],{}," 的概念、价值、主流方案、实操步骤、测试对比及工程化优化方案，形成可直接落地的优选 IP 部署闭环，适配博客站长、边缘云开发、前端运维等开发者场景。",[443,444],"hr",{},[412,446,448],{"id":447},"_2-什么是-cloudflare-优选-ip核心概念","2 什么是 CloudFlare 优选 IP（核心概念）",[450,451,453],"h3",{"id":452},"_21-优选-ip-基础定义","2.1 优选 IP 基础定义",[417,455,456,458,459,462],{},[421,457,54],{}," 是区别于官方公开默认节点 IP 的定制化边缘节点 IP 集合，是通过链路测速、丢包检测、延迟筛选、稳定性校验后，筛选出的",[421,460,461],{},"国内跨境访问最优 CloudFlare 节点 IP","。",[417,464,465,466,468,469,472],{},"该类 IP 仍归属 ",[421,467,423],{}," 官方节点网段，保留 CDN 加速、边缘缓存、防护、SSL 证书等全部原生能力，仅针对",[421,470,471],{},"国内访问链路","做了性能择优，不改变 CloudFlare 核心服务架构。",[450,474,476],{"id":475},"_22-优选-ip-与普通-cf-ip-区别","2.2 优选 IP 与普通 CF IP 区别",[478,479,480,495],"table",{},[481,482,483],"thead",{},[484,485,486,490,493],"tr",{},[487,488,489],"th",{},"对比维度",[487,491,492],{},"普通 CloudFlare 公共 IP",[487,494,54],{},[496,497,498,510,528,547,558,569],"tbody",{},[484,499,500,504,507],{},[501,502,503],"td",{},"链路适配性",[501,505,506],{},"全球通用节点，无国内链路优化",[501,508,509],{},"针对性适配国内跨境网络链路",[484,511,512,515,522],{},[501,513,514],{},"访问延迟",[501,516,517,518,521],{},"国内平均延迟 ",[421,519,520],{},"300ms+","，波动大",[501,523,517,524,527],{},[421,525,526],{},"50-150ms","，低抖动",[484,529,530,533,540],{},[501,531,532],{},"丢包率",[501,534,535,536,539],{},"高峰时段丢包率 ",[421,537,538],{},"5%+","，不稳定",[501,541,542,543,546],{},"常态丢包率 ",[421,544,545],{},"0%","，高峰波动极小",[484,548,549,552,555],{},[501,550,551],{},"解析稳定性",[501,553,554],{},"智能解析漂移，节点随机分配",[501,556,557],{},"固定优质节点，无解析漂移",[484,559,560,563,566],{},[501,561,562],{},"资源加载",[501,564,565],{},"静态资源、图片易超时加载失败",[501,567,568],{},"资源秒加载，CDN 缓存命中率极高",[484,570,571,574,577],{},[501,572,573],{},"拥堵概率",[501,575,576],{},"公共节点用户量大，易拥堵封禁",[501,578,579],{},"小众优质节点，拥堵、封禁风险极低",[450,581,583],{"id":582},"_23-优选-ip-工作原理简述","2.3 优选 IP 工作原理简述",[417,585,586,588,589,462],{},[421,587,423],{}," 全球拥有数百个边缘节点，普通访问场景下，DNS 会根据全局路由策略随机分配公共节点 IP，该策略优先保障全球通用访问，",[421,590,591],{},"牺牲了国内跨境访问的专项性能",[593,594,595],"blockquote",{},[417,596,597],{},"优选 IP 的核心原理：",[599,600,601,608,611,614],"ul",{},[602,603,604,605,607],"li",{},"遍历 ",[421,606,423],{}," 合法节点 IP 网段，批量探测国内各运营商（移动、联通、电信）链路延迟、丢包、稳定性；",[602,609,610],{},"过滤掉拥堵、高延迟、易封禁、解析异常的劣质节点；",[602,612,613],{},"留存长期稳定、低延迟、高可用的优质节点 IP，通过本地\u002F服务商 DNS 绑定，替代默认公共 IP 完成访问解析；",[602,615,616,617,619],{},"保留 ",[421,618,423],{}," 边缘缓存、防护、加速核心能力，仅优化底层链路入口。",[593,621,622],{},[417,623,624],{},"普通小黄云解析分为规则层、解析层两层：",[599,626,627,630],{},[602,628,629],{},"开启代理后，CF 自动配置 DNS 指向 CF、生成路由规则",[602,631,632],{},"若手动修改 DNS 指向优选节点，一旦关闭小黄云，配套路由规则同步删除，解析失效，访问失败",[593,634,635],{},[417,636,637],{},"SaaS 路由 和 Worker 路由打破该限制：",[599,639,640,647,650],{},[602,641,642,643,646],{},"路由规则由我们自行创建，",[421,644,645],{},"规则层独立","，不再依赖小黄云解析自动生成",[602,648,649],{},"DNS 解析可自由配置 CNAME 指向优选节点，解析层自主控制",[602,651,652],{},"两层相互解耦，因此依托 SaaS\u002FWorker 路由能够实现节点优选",[450,654,656],{"id":655},"_24-社区优选域名","2.4 社区优选域名",[417,658,659],{},"常用的社区优选域名：",[599,661,662,669],{},[602,663,664],{},[432,665,668],{"href":666,"rel":667},"https:\u002F\u002Fcf.090227.xyz\u002F",[436],"cf.090227.xyz",[602,670,671],{},[432,672,675],{"href":673,"rel":674},"https:\u002F\u002Fcf.877774.xyz\u002F",[436],"秋名山优选域名：cf.877774.xyz",[677,678,682],"pre",{"className":679,"code":680,"language":244,"meta":681,"style":681},"language-yaml shiki shiki-themes github-light github-dark","bestcf.030101.xyz #Mingyu维护\ncdn.2020111.xyz\ncdns.doon.eu.org\ncf.0sm.com\ncf.877771.xyz\ncf.877774.xyz #秋名山维护\ncf.900501.xyz\ncfip.1323123.xyz\ncfip.cfcdn.vip\ncfip.xxxxxxxx.tk #OTC维护\ncloudflare.182682.xyz #WeTest.Vip维护\ncloudflare-dl.byoip.top\ncloudflare-ip.mofashi.ltd\nfn.130519.xyz\nfreeyx.cloudflare88.eu.org\nnrt.xxxxxxxx.nyc.mn\nnrtcfdns.zone.id\nsaas.sin.fan\ntencentapp.cn #ktff维护\nxn--b6gac.eu.org\n777.ai7777777.**xyz**\n","",[683,684,685,698,704,710,716,721,730,736,741,747,755,764,769,775,781,787,793,799,805,814,820],"code",{"__ignoreMap":681},[686,687,690,694],"span",{"class":688,"line":689},"line",1,[686,691,693],{"class":692},"sZZnC","bestcf.030101.xyz",[686,695,697],{"class":696},"sJ8bj"," #Mingyu维护\n",[686,699,701],{"class":688,"line":700},2,[686,702,703],{"class":692},"cdn.2020111.xyz\n",[686,705,707],{"class":688,"line":706},3,[686,708,709],{"class":692},"cdns.doon.eu.org\n",[686,711,713],{"class":688,"line":712},4,[686,714,715],{"class":692},"cf.0sm.com\n",[686,717,718],{"class":688,"line":50},[686,719,720],{"class":692},"cf.877771.xyz\n",[686,722,724,727],{"class":688,"line":723},6,[686,725,726],{"class":692},"cf.877774.xyz",[686,728,729],{"class":696}," #秋名山维护\n",[686,731,733],{"class":688,"line":732},7,[686,734,735],{"class":692},"cf.900501.xyz\n",[686,737,738],{"class":688,"line":27},[686,739,740],{"class":692},"cfip.1323123.xyz\n",[686,742,744],{"class":688,"line":743},9,[686,745,746],{"class":692},"cfip.cfcdn.vip\n",[686,748,749,752],{"class":688,"line":39},[686,750,751],{"class":692},"cfip.xxxxxxxx.tk",[686,753,754],{"class":696}," #OTC维护\n",[686,756,758,761],{"class":688,"line":757},11,[686,759,760],{"class":692},"cloudflare.182682.xyz",[686,762,763],{"class":696}," #WeTest.Vip维护\n",[686,765,766],{"class":688,"line":15},[686,767,768],{"class":692},"cloudflare-dl.byoip.top\n",[686,770,772],{"class":688,"line":771},13,[686,773,774],{"class":692},"cloudflare-ip.mofashi.ltd\n",[686,776,778],{"class":688,"line":777},14,[686,779,780],{"class":692},"fn.130519.xyz\n",[686,782,784],{"class":688,"line":783},15,[686,785,786],{"class":692},"freeyx.cloudflare88.eu.org\n",[686,788,790],{"class":688,"line":789},16,[686,791,792],{"class":692},"nrt.xxxxxxxx.nyc.mn\n",[686,794,796],{"class":688,"line":795},17,[686,797,798],{"class":692},"nrtcfdns.zone.id\n",[686,800,802],{"class":688,"line":801},18,[686,803,804],{"class":692},"saas.sin.fan\n",[686,806,808,811],{"class":688,"line":807},19,[686,809,810],{"class":692},"tencentapp.cn",[686,812,813],{"class":696}," #ktff维护\n",[686,815,817],{"class":688,"line":816},20,[686,818,819],{"class":692},"xn--b6gac.eu.org\n",[686,821,823],{"class":688,"line":822},21,[686,824,825],{"class":692},"777.ai7777777.**xyz**\n",[417,827,828],{},"这些优选域名通常是通过扫描Cloudflare官方IP段，找出国内延迟最低的IP整理而成。",[443,830],{},[412,832,834],{"id":833},"_3-为什么要做-ip-优选","3 为什么要做 IP 优选",[450,836,838],{"id":837},"_31-原生-cloudflare-公共-ip-存在的问题","3.1 原生 CloudFlare 公共 IP 存在的问题",[599,840,841,847,853,862],{},[602,842,843,846],{},[421,844,845],{},"访问延迟高、网络抖动大","：默认公共节点跨境链路绕路严重，国内访问延迟居高不下，且不同时段网络波动剧烈，页面打开忽快忽慢。",[602,848,849,852],{},[421,850,851],{},"国内解析漂移、节点适配差","：DNS 智能解析随机分配海外节点，部分偏远节点与国内链路兼容性极差，无固定最优路由。",[602,854,855,858,859,462],{},[421,856,857],{},"静态资源加载异常","：博客图片、CSS\u002FJS 静态资源、图床文件频繁出现加载超时、空白、加载不全问题，",[421,860,861],{},"CDN 加速核心功能失效",[602,863,864,867],{},[421,865,866],{},"接口服务可用性低","：依托 CloudFlare 部署的 API 服务，易因节点不稳定出现请求超时、响应失败，影响业务可用性。",[450,869,871],{"id":870},"_32-优选-ip-带来的核心收益","3.2 优选 IP 带来的核心收益",[599,873,874,880,889,895],{},[602,875,876,879],{},[421,877,878],{},"大幅降低跨境访问延迟","：优选节点针对性优化国内链路，延迟直接降低 60%+，页面首屏加载速度显著提升。",[602,881,882,885,886,462],{},[421,883,884],{},"修复 CDN 失效问题","：稳定的优质节点可保障边缘缓存正常生效，静态资源、图片加载成功率接近 ",[421,887,888],{},"100%",[602,890,891,894],{},[421,892,893],{},"解决边缘业务卡顿问题","：博客、图床、后端 API、小程序接口等全部边缘业务的访问卡顿、超时问题彻底优化。",[602,896,897,900],{},[421,898,899],{},"规避节点拥堵与封禁风险","：避开高并发公共节点，减少节点过载拥堵、IP 封禁、限流拦截的概率，提升服务稳定性。",[450,902,904],{"id":903},"_33-不做优选的业务风险","3.3 不做优选的业务风险",[599,906,907,910,913,916],{},[602,908,909],{},"个人博客、展示站点用户流失严重，访问体验极差，无法满足正常展示需求；",[602,911,912],{},"图床服务频繁失效，图片加载失败，导致网站内容残缺；",[602,914,915],{},"线上 API 接口不稳定，出现随机报错、超时，影响业务正常运行；",[602,917,918,919,921],{},"长期使用劣质公共节点，可能触发 ",[421,920,423],{}," 风控策略，导致域名临时封禁、节点拉黑。",[443,923],{},[412,925,927],{"id":926},"_4-主流优选方案对比","4 主流优选方案对比",[450,929,931],{"id":930},"_41-多种优选的优缺点-适用人群","4.1 多种优选的优缺点 & 适用人群",[478,933,934,950],{},[481,935,936],{},[484,937,938,941,944,947],{},[487,939,940],{},"优选方案",[487,942,943],{},"核心优势",[487,945,946],{},"核心短板",[487,948,949],{},"适用人群",[496,951,952,966,980,994],{},[484,953,954,957,960,963],{},[501,955,956],{},"Byoip 优选",[501,958,959],{},"节点权限最高，稳定性极强，自定义程度高",[501,961,962],{},"配置复杂、门槛高、需要企业资质、成本高",[501,964,965],{},"企业级业务、高并发商用站点",[484,967,968,971,974,977],{},[501,969,970],{},"Workers 优选",[501,972,973],{},"零成本、配置简单、无需域名备案、适配个人站点",[501,975,976],{},"单实例缓存有限，存在访问上限",[501,978,979],{},"个人博客、小型静态站点、轻量 API",[484,981,982,985,988,991],{},[501,983,984],{},"CloudFlare R2 优选",[501,986,987],{},"针对存储资源优化，图床加速效果极佳",[501,989,990],{},"仅适配 R2 存储业务，通用性差",[501,992,993],{},"主打图床、静态资源存储的开发者",[484,995,996,999,1002,1005],{},[501,997,998],{},"SaaS 优选",[501,1000,1001],{},"全场景适配、稳定性最优、无资源上限",[501,1003,1004],{},"需简单配置规则，依赖路由策略",[501,1006,1007],{},"个人开发者、中小型站点、全场景边缘业务",[450,1009,1011],{"id":1010},"_42-最终方案选型理由","4.2 最终方案选型理由",[593,1013,1014],{},[417,1015,1016,1017,1020,1021],{},"综合",[421,1018,1019],{},"成本、落地难度、通用性、稳定性","四大核心维度，本文最终选择 ",[421,1022,1023],{},"Workers 优选 或 SaaS 优选",[593,1025,1026],{},[417,1027,1028],{},"组合方案：",[599,1030,1031,1034,1037,1040],{},[602,1032,1033],{},"零成本落地，无需企业资质、无需付费、无备案要求，适配绝大多数个人开发者；",[602,1035,1036],{},"覆盖静态站点、图床、API 接口全场景，弥补 R2 优选场景单一的缺陷；",[602,1038,1039],{},"配置轻量化，工程化落地步骤简单，可快速复现部署；",[602,1041,1042],{},"相比 Byoip 方案，大幅降低部署门槛，兼顾性能与实用性。",[443,1044],{},[412,1046,1048],{"id":1047},"_5-怎么优选-ip","5 怎么优选 IP",[450,1050,1052],{"id":1051},"_51-cloudflare-域名优选","5.1 CloudFlare 域名优选",[593,1054,1055],{},[417,1056,1057,1058,1061,1062],{},"首先我们需要在 CloudFlare 解析一个域名，你得有一个域名在 CloudFlare 解析，比如",[683,1059,1060],{},"你的域名.com","，这里我在 CloudFlare 解析的是 ",[683,1063,1064],{},"9600000.xyz",[593,1066,1067],{},[417,1068,1069,1070,1073,1074,1076,1077,1080],{},"其次我们需要创建一个指向优选域名，也就是",[683,1071,1072],{},"yx.你的域名.com"," cname 指向 ",[683,1075,668],{},"，这里我设置的是",[683,1078,1079],{},"yx.99600000.xyz","，记得千万不要开启小黄云代理",[417,1082,1083,1086,1090],{},[421,1084,1085],{},"设置为 cf.090227.xyz 和设置 yx.cf.090227.xyz 效果是一样的",[1087,1088],"img",{"alt":681,"src":1089},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784656470303.avif",[1087,1091],{"alt":681,"src":1092},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784656268680.avif",[593,1094,1095],{},[417,1096,1097,1098,1103,1104,1106,1107,1110,1111],{},"最后我们打开 ",[432,1099,1102],{"href":1100,"rel":1101},"https:\u002F\u002Fitdog.cn",[436],"itdog.cn","，找到 DNS 解析，输入刚刚我们解析的 ",[683,1105,1079],{},"，可以看到结果已经 cname 到 ",[683,1108,1109],{},"yx.cf.090227.xyz","，而且基本是绿色的。\n",[1087,1112],{"alt":681,"src":1113},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784656623102.avif",[450,1115,1117],{"id":1116},"_52-works-优选","5.2 Works 优选",[593,1119,1120],{},[417,1121,1122,1125,1126,1129],{},[421,1123,1124],{},"核心原理","：依托 ",[421,1127,1128],{},"CloudFlare Works"," 边缘函数路由能力，将域名解析流量引流至优选优质节点，通过边缘转发规避公共节点链路缺陷，实现无感知 IP 优选。",[593,1131,1132],{},[417,1133,1134],{},[421,1135,1136],{},"实操步骤",[599,1138,1139,1149,1156,1167,1179],{},[602,1140,1141,1142,1144,1145,1148],{},"登录 ",[421,1143,423],{}," 控制台，进入 ",[421,1146,1147],{},"Workers & Pages"," 模块，打开你的 workers 项目",[602,1150,1151,1152,1155],{},"找到",[421,1153,1154],{},"域","，添加路由，一定是添加路由",[602,1157,1158,1159,1162,1163,1166],{},"然后输入",[683,1160,1161],{},"blog.你的域名.com\u002F*","，记住 ",[683,1164,1165],{},"\u002F*"," 不能忽略，代表通配符",[602,1168,1169,1170,1173,1176],{},"这里我输入我的域名",[683,1171,1172],{},"blog.99600000.xyz\u002F*",[1087,1174],{"alt":681,"src":1175},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784656948469.avif",[1087,1177],{"alt":681,"src":1178},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784657086029.avif",[602,1180,1181,1182,1185,1186,1188,1189,1192,1195],{},"最后我们只需要把 ",[683,1183,1184],{},"blog.你的域名.com"," cname 到 ",[683,1187,1072],{}," ，",[421,1190,1191],{},"记得关闭小黄云",[1087,1193],{"alt":681,"src":1194},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784657473510.avif",[1087,1196],{"alt":681,"src":1197},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784657316632.avif",[593,1199,1200],{},[417,1201,1202],{},[421,1203,1204],{},"优选基础测试",[417,1206,1207,1208,1211,1212,1215,1216],{},"这样我们就可以对于优选前的域名和优选后的域名在 ",[432,1209,1102],{"href":1100,"rel":1210},[436]," 上看 DNS 解析中的 cname 记录，以及观看 A 记录的 IP多少，IP 越多说明选择越多，打开也就更快。\n",[1087,1213],{"alt":681,"src":1214},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784658016793.avif","\n这是我的源站域名，走 CF 小黄云 IP 就很少\n",[1087,1217],{"alt":681,"src":1218},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784658106469.avif",[450,1220,1222],{"id":1221},"_53-saas-优选","5.3 SaaS 优选",[593,1224,1225],{},[417,1226,1227,1229,1230,1233,1234,1237],{},[421,1228,1124],{},"：基于 ",[421,1231,1232],{},"CloudFlare SaaS"," 托管路由规则，自定义域名解析节点优先级，手动指定优质优选 IP 作为解析入口，替代官方默认随机节点，SaaS 只支持真实IP，是不支持 workers pages 或者无真实 IP 的业务。（",[421,1235,1236],{},"我测试下来是不支持的，如果支持请联系我，我向您请教","）",[593,1239,1240],{},[417,1241,1242],{},[421,1243,1136],{},[599,1245,1246,1252,1262,1275,1285],{},[602,1247,1248,1249],{},"打开 SSL\u002FTLS、概述、配置、选择灵活\n",[1087,1250],{"alt":681,"src":1251},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784658413413.avif",[602,1253,1254,1255,1258,1259],{},"在 DNS 解析中，A 记录解析一个 SaaS 的回退源，IP 输入 ",[683,1256,1257],{},"7.7.7.7","，记得打开小黄云\n",[1087,1260],{"alt":681,"src":1261},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784658568614.avif",[602,1263,1264,1265,1268,1269,1272],{},"打开 SSL\u002FTLS、自定义主机名、在回退源中输入刚才的 ",[683,1266,1267],{},"saas.99600000.xyz","，你的域名可能是",[683,1270,1271],{},"saas.你的域名.com",[1087,1273],{"alt":681,"src":1274},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784658680345.avif",[602,1276,1277,1278,1281,1282],{},"这里需要准备两个域名，一个是",[683,1279,1280],{},"优选.你的域名.com","，另外一个是",[683,1283,1284],{},"源站.你的域名.com",[602,1286,1287],{},"打开刚才自定义主机，添加自定义主机名，填写以下内容保存",[677,1289,1291],{"className":679,"code":1290,"language":244,"meta":681,"style":681},"自定义主机名填写：优选.你的域名.com\n最低 TLS 版本：TLS 1.2\n证书验证方法：HTTP 验证\n自定义源服务器：源站.你的域名.com\n",[683,1292,1293,1298,1303,1308],{"__ignoreMap":681},[686,1294,1295],{"class":688,"line":689},[686,1296,1297],{"class":692},"自定义主机名填写：优选.你的域名.com\n",[686,1299,1300],{"class":688,"line":700},[686,1301,1302],{"class":692},"最低 TLS 版本：TLS 1.2\n",[686,1304,1305],{"class":688,"line":706},[686,1306,1307],{"class":692},"证书验证方法：HTTP 验证\n",[686,1309,1310],{"class":688,"line":712},[686,1311,1312],{"class":692},"自定义源服务器：源站.你的域名.com\n",[417,1314,1315],{},[1087,1316],{"alt":681,"src":1317},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784659587245.avif",[599,1319,1320],{},[602,1321,1322],{},"回到 DNS 记录解析以下几条",[677,1324,1326],{"className":679,"code":1325,"language":244,"meta":681,"style":681},"源站.你的域名.com A 记录 解析到 你的源站 IP，开启小黄云\n\nyx.你的域名.com cname 解析到 cf.090227.xyz，不开启小黄云\n\n优选线路.你的域名.com cname 解析到 yx.你的域名.com，不开启小黄云\n\n",[683,1327,1328,1333,1338,1343,1347],{"__ignoreMap":681},[686,1329,1330],{"class":688,"line":689},[686,1331,1332],{"class":692},"源站.你的域名.com A 记录 解析到 你的源站 IP，开启小黄云\n",[686,1334,1335],{"class":688,"line":700},[686,1336,1337],{"emptyLinePlaceholder":16},"\n",[686,1339,1340],{"class":688,"line":706},[686,1341,1342],{"class":692},"yx.你的域名.com cname 解析到 cf.090227.xyz，不开启小黄云\n",[686,1344,1345],{"class":688,"line":712},[686,1346,1337],{"emptyLinePlaceholder":16},[686,1348,1349],{"class":688,"line":50},[686,1350,1351],{"class":692},"优选线路.你的域名.com cname 解析到 yx.你的域名.com，不开启小黄云\n",[599,1353,1354],{},[602,1355,1356],{},"这样配置后，相当于走优选线路为以下路径",[677,1358,1360],{"className":679,"code":1359,"language":244,"meta":681,"style":681},"优选线路.你的域名.com -> yx.你的域名.com -> cf.090227.xyz —> SaaS 优选 —> 你的源站\n",[683,1361,1362],{"__ignoreMap":681},[686,1363,1364],{"class":688,"line":689},[686,1365,1359],{"class":692},[443,1367],{},[412,1369,1371],{"id":1370},"_6-pages-优选邪修","6 Pages 优选邪修",[593,1373,1374],{},[417,1375,1376],{},"众所周知，pages 优选要改 DNS，那些很麻烦，又不能直接使用 workers，SaaS 是需要真实 IP。",[593,1378,1379],{},[417,1380,1381],{},"那么，有没有一种方法不需要把 pages 转换成 workers，又能使用优选呢？",[417,1383,1384],{},"有的，我们可以创建一个 workers 透明代理 pages 的源站域名流量，那么直接用 workers 的路由不是就可以优选了？",[593,1386,1387],{},[417,1388,1389],{},"所以我们需要先创建一个 workers 的 hello word 项目，名称就叫做 pages-proxy，最后点部署",[417,1391,1392],{},[1087,1393],{"alt":681,"src":1394},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784660328857.avif",[593,1396,1397],{},[417,1398,1399],{},"最后我们点击编辑代码，输入以下代码，修改成你的 pages 域名，部署",[677,1401,1403],{"className":679,"code":1402,"language":244,"meta":681,"style":681},"export default {\n  async fetch(request, env, ctx) {\n    const url = new URL(request.url);\n    \u002F\u002F 将目标地址强行指定为你的 Pages 原始域名\n    const targetDomain = \"Pages 原始域名\";\n    url.hostname = targetDomain;\n    const newHeaders = new Headers(request.headers);\n    newHeaders.set(\"Host\", targetDomain);\n    const method = request.method;\n    const hasBody = ![\"GET\", \"HEAD\"].includes(method);\n    const fetchOptions = {\n      method: method,\n      headers: newHeaders,\n      redirect: request.redirect,\n    };\n    if (hasBody) {\n      fetchOptions.body = request.body;\n      fetchOptions.duplex = 'half';\n    }\n    const newRequest = new Request(url, fetchOptions);\n    try {\n      return await fetch(newRequest);\n    } catch (e) {\n      return new Response(\"Proxy Error: \" + e.message, { status: 500 });\n    }\n  },\n};\n",[683,1404,1405,1410,1415,1420,1425,1430,1435,1440,1445,1450,1455,1460,1473,1483,1493,1501,1506,1511,1516,1521,1526,1531,1537,1546,1557,1562,1568],{"__ignoreMap":681},[686,1406,1407],{"class":688,"line":689},[686,1408,1409],{"class":692},"export default {\n",[686,1411,1412],{"class":688,"line":700},[686,1413,1414],{"class":692},"  async fetch(request, env, ctx) {\n",[686,1416,1417],{"class":688,"line":706},[686,1418,1419],{"class":692},"    const url = new URL(request.url);\n",[686,1421,1422],{"class":688,"line":712},[686,1423,1424],{"class":692},"    \u002F\u002F 将目标地址强行指定为你的 Pages 原始域名\n",[686,1426,1427],{"class":688,"line":50},[686,1428,1429],{"class":692},"    const targetDomain = \"Pages 原始域名\";\n",[686,1431,1432],{"class":688,"line":723},[686,1433,1434],{"class":692},"    url.hostname = targetDomain;\n",[686,1436,1437],{"class":688,"line":732},[686,1438,1439],{"class":692},"    const newHeaders = new Headers(request.headers);\n",[686,1441,1442],{"class":688,"line":27},[686,1443,1444],{"class":692},"    newHeaders.set(\"Host\", targetDomain);\n",[686,1446,1447],{"class":688,"line":743},[686,1448,1449],{"class":692},"    const method = request.method;\n",[686,1451,1452],{"class":688,"line":39},[686,1453,1454],{"class":692},"    const hasBody = ![\"GET\", \"HEAD\"].includes(method);\n",[686,1456,1457],{"class":688,"line":757},[686,1458,1459],{"class":692},"    const fetchOptions = {\n",[686,1461,1462,1466,1470],{"class":688,"line":15},[686,1463,1465],{"class":1464},"s9eBZ","      method",[686,1467,1469],{"class":1468},"sVt8B",": ",[686,1471,1472],{"class":692},"method,\n",[686,1474,1475,1478,1480],{"class":688,"line":771},[686,1476,1477],{"class":1464},"      headers",[686,1479,1469],{"class":1468},[686,1481,1482],{"class":692},"newHeaders,\n",[686,1484,1485,1488,1490],{"class":688,"line":777},[686,1486,1487],{"class":1464},"      redirect",[686,1489,1469],{"class":1468},[686,1491,1492],{"class":692},"request.redirect,\n",[686,1494,1495,1498],{"class":688,"line":783},[686,1496,1497],{"class":1468},"    }",[686,1499,1500],{"class":692},";\n",[686,1502,1503],{"class":688,"line":789},[686,1504,1505],{"class":692},"    if (hasBody) {\n",[686,1507,1508],{"class":688,"line":795},[686,1509,1510],{"class":692},"      fetchOptions.body = request.body;\n",[686,1512,1513],{"class":688,"line":801},[686,1514,1515],{"class":692},"      fetchOptions.duplex = 'half';\n",[686,1517,1518],{"class":688,"line":807},[686,1519,1520],{"class":1468},"    }\n",[686,1522,1523],{"class":688,"line":816},[686,1524,1525],{"class":692},"    const newRequest = new Request(url, fetchOptions);\n",[686,1527,1528],{"class":688,"line":822},[686,1529,1530],{"class":692},"    try {\n",[686,1532,1534],{"class":688,"line":1533},22,[686,1535,1536],{"class":692},"      return await fetch(newRequest);\n",[686,1538,1540,1543],{"class":688,"line":1539},23,[686,1541,1542],{"class":1468},"    } ",[686,1544,1545],{"class":692},"catch (e) {\n",[686,1547,1549,1552,1554],{"class":688,"line":1548},24,[686,1550,1551],{"class":1464},"      return new Response(\"Proxy Error",[686,1553,1469],{"class":1468},[686,1555,1556],{"class":692},"\" + e.message, { status: 500 });\n",[686,1558,1560],{"class":688,"line":1559},25,[686,1561,1520],{"class":692},[686,1563,1565],{"class":688,"line":1564},26,[686,1566,1567],{"class":692},"  },\n",[686,1569,1571],{"class":688,"line":1570},27,[686,1572,1573],{"class":692},"};\n",[417,1575,1576],{},[1087,1577],{"alt":681,"src":1578},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784660404810.avif",[593,1580,1581],{},[417,1582,1583],{},"那么现在就简单了，又回到刚刚的 workers 优选配置了。",[412,1585,1587],{"id":1586},"_7-优选前和优选后测试","7 优选前和优选后测试",[450,1589,1591],{"id":1590},"_71-核心测试指标","7.1 核心测试指标",[417,1593,1594,1595,462],{},"统一测试环境：国内三网（移动、联通、电信）、本地网络、无代理、无缓存，测试指标包含",[421,1596,1597],{},"平均延迟、丢包率、页面首屏时间、资源加载成功率",[450,1599,1601],{"id":1600},"_72-测试数据对比","7.2 测试数据对比",[417,1603,1604,1605,1608,1609,1612,1613,1616,1617],{},"打开 ",[432,1606,1102],{"href":1100,"rel":1607},[436]," ，点击网站测试，输入",[421,1610,1611],{},"源站域名","，可以看到基本黄的，可能还有红的；但是打开",[421,1614,1615],{},"优选线路","，基本都是看的绿色线路，IP 也变多了，但是也有可能有的地方没解析红的。\n",[1087,1618],{"alt":681,"src":1619},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784660905546.avif",[417,1621,1622],{},[1087,1623],{"alt":681,"src":1624},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784661077939.avif",[478,1626,1627,1640],{},[481,1628,1629],{},[484,1630,1631,1634,1637],{},[487,1632,1633],{},"测试指标",[487,1635,1636],{},"优选前（普通公共 IP）",[487,1638,1639],{},"优选后（Works+SaaS 方案）",[496,1641,1642,1653,1664,1675,1686],{},[484,1643,1644,1647,1650],{},[501,1645,1646],{},"平均访问延迟",[501,1648,1649],{},"320ms - 450ms",[501,1651,1652],{},"60ms - 120ms",[484,1654,1655,1658,1661],{},[501,1656,1657],{},"网络丢包率",[501,1659,1660],{},"4% - 8%（高峰 10%+）",[501,1662,1663],{},"0% - 1%（稳定无波动）",[484,1665,1666,1669,1672],{},[501,1667,1668],{},"页面首屏加载时间",[501,1670,1671],{},"3-6s",[501,1673,1674],{},"0.5-1.2s",[484,1676,1677,1680,1683],{},[501,1678,1679],{},"静态资源加载成功率",[501,1681,1682],{},"85% 左右",[501,1684,1685],{},"99.9%",[484,1687,1688,1691,1694],{},[501,1689,1690],{},"网络抖动幅度",[501,1692,1693],{},"高，频繁波动",[501,1695,1696],{},"极低，链路稳定",[450,1698,1700],{"id":1699},"_73-测试结论","7.3 测试结论",[417,1702,1703,1704,1707],{},"部署优选 IP 方案后，国内跨境访问 ",[421,1705,1706],{},"延迟降低 70%+","，丢包问题基本解决，静态资源加载、页面访问、接口请求的稳定性大幅提升，完全解决原生公共节点的核心痛点，满足个人站点、轻量边缘业务的生产使用需求。",[443,1709],{},[412,1711,1713],{"id":1712},"_8-总结","8 总结",[599,1715,1716,1719,1722,1725],{},[602,1717,1718],{},"优选 IP，并不一定会快，理性看到这个事情",[602,1720,1721],{},"但是优选会优化线路，可以选择的更多",[602,1723,1724],{},"我觉得走腾讯 EdgeOne 海外线路，没备案域名，也很快，毕竟腾讯对国内优化很好",[602,1726,1727],{},"有的人使用 vercel 部署也很快",[417,1729,1730],{},"Created with ❤️ by 十三",[1732,1733,1734],"style",{},"html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":681,"searchDepth":700,"depth":700,"links":1736},[1737,1738,1744,1749,1753,1758,1759,1764],{"id":414,"depth":700,"text":415},{"id":447,"depth":700,"text":448,"children":1739},[1740,1741,1742,1743],{"id":452,"depth":706,"text":453},{"id":475,"depth":706,"text":476},{"id":582,"depth":706,"text":583},{"id":655,"depth":706,"text":656},{"id":833,"depth":700,"text":834,"children":1745},[1746,1747,1748],{"id":837,"depth":706,"text":838},{"id":870,"depth":706,"text":871},{"id":903,"depth":706,"text":904},{"id":926,"depth":700,"text":927,"children":1750},[1751,1752],{"id":930,"depth":706,"text":931},{"id":1010,"depth":706,"text":1011},{"id":1047,"depth":700,"text":1048,"children":1754},[1755,1756,1757],{"id":1051,"depth":706,"text":1052},{"id":1116,"depth":706,"text":1117},{"id":1221,"depth":706,"text":1222},{"id":1370,"depth":700,"text":1371},{"id":1586,"depth":700,"text":1587,"children":1760},[1761,1762,1763],{"id":1590,"depth":706,"text":1591},{"id":1600,"depth":706,"text":1601},{"id":1699,"depth":706,"text":1700},{"id":1712,"depth":700,"text":1713},"md",{"published":55,"author":1767,"image":1768},"十三","https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F07\u002F22\u002F1784661704045.avif",{"title":54,"description":54},"blog\u002F40-博客搭建\u002F09-CloudFlare 优选 IP",[57,58],"aLTl1qsfFmuuqU0Kl9fQk9s7AJVJ4cXns4QdhCmJDgg",[1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831],{"path":6,"title":7,"date":9},{"path":19,"title":20,"date":22},{"path":31,"title":32,"date":34},{"path":42,"title":43,"date":45},{"path":53,"title":54,"date":55},{"path":62,"title":63,"date":64},{"path":70,"title":71,"date":72},{"path":78,"title":79,"date":80},{"path":85,"title":86,"date":87},{"path":92,"title":93,"date":95},{"path":100,"title":101,"date":102},{"path":106,"title":107,"date":108},{"path":112,"title":113,"date":114},{"path":118,"title":119,"date":120},{"path":130,"title":131,"date":132},{"path":139,"title":140,"date":141},{"path":147,"title":148,"date":149},{"path":156,"title":157,"date":158},{"path":165,"title":166,"date":167},{"path":172,"title":173,"date":174},{"path":180,"title":181,"date":182},{"path":186,"title":187,"date":188},{"path":186,"title":192,"date":193},{"path":197,"title":198,"date":199},{"path":204,"title":205,"date":206},{"path":212,"title":213,"date":206},{"path":217,"title":218,"date":206},{"path":223,"title":224,"date":206},{"path":228,"title":229,"date":206},{"path":234,"title":235,"date":206},{"path":239,"title":240,"date":242},{"path":247,"title":248,"date":242},{"path":247,"title":254,"date":242},{"path":247,"title":259,"date":242},{"path":266,"title":267,"date":242},{"path":266,"title":274,"date":242},{"path":278,"title":279,"date":242},{"path":284,"title":285,"date":242},{"path":284,"title":291,"date":242},{"path":284,"title":297,"date":242},{"path":284,"title":301,"date":242},{"path":284,"title":305,"date":242},{"path":284,"title":310,"date":242},{"path":315,"title":316,"date":242},{"path":321,"title":322,"date":242},{"path":321,"title":326,"date":242},{"path":330,"title":331,"date":242},{"path":335,"title":336,"date":242},{"path":342,"title":343,"date":242},{"path":342,"title":348,"date":242},{"path":353,"title":354,"date":242},{"path":361,"title":362,"date":242},{"path":367,"title":368,"date":242},{"path":374,"title":375,"date":242},{"path":380,"title":381,"date":242},{"path":387,"title":388,"date":242},{"path":394,"title":395,"date":242},{"path":380,"title":400,"date":401},1788281982016]