Cloudflare的Worker在國內總抽風,分享一個2步搞定的優選配置
整理版優先睇
透過 CNAME 到 Shopify 域名,解決 Cloudflare Worker 喺國內訪問不穩嘅問題
作者係一個瀏覽器插件嘅開發者,個插件有個激活碼校驗功能,行喺 Cloudflare Worker 上面。佢發現 CF Worker 喺國內訪問好唔穩定,一時快一時慢,甚至訪問唔到,搞到用戶投訴,作者心態崩潰。
於是佢研究咗一個兩步搞掂嘅方法:先喺 CF 控制面板加一條 Workers 路由規則,將特定域名嘅請求全部轉發去個 Worker;然後喺域名 DNS 管理將呢個域名 CNAME 去 www.shopify.com,代理狀態揀「僅 DNS」。咁樣做嘅原理係借 Shopify 喺國內優化好嘅 CDN 線路,令到用戶請求先經 Shopify 嘅節點,再由 CF 攔截去 Worker,實際請求唔會去到 Shopify 伺服器。
作者最後反思,有時正面硬碰解決唔到問題,繞一個彎反而就得,呢個就係信息差嘅價值。佢希望分享出嚟幫到其他遇到同樣問題嘅人。
- 結論:透過 CNAME 到 Shopify 域名,可以大幅改善 Cloudflare Worker 喺國內嘅穩定性。
- 方法:第一步加 Workers 路由規則,第二步將域名 CNAME 到 www.shopify.com(僅 DNS)。
- 差異:唔係直接優化 CF,而係借第三者嘅 CDN 線路,繞過 CF 喺國內嘅限制。
- 啟發:技術問題有時要跳出框架,用間接方法解決;信息差可以慳好多時間。
- 可行動點:如果你都用 CF Worker 而國內用戶多,可以試呢個方法;留意路由規則要 intercept 所有請求,DNS 代理要 set 做僅 DNS。
問題背景:CF Worker 喺國內成日抽風
作者搞咗個瀏覽器插件,入面嘅激活碼校驗功能行喺 Cloudflare Worker 上。Worker 係 CF 嘅邊緣計算節點,按理話用戶一發請求就會就近處理,但係——CF 對國外好,對大陸真係好唔穩定。
有時延遲50ms,有時直頭5 秒起步,用戶鬧娘,作者心態崩潰。佢決定研究點樣幫 Worker 配一個國內優選節點。
兩步搞掂:路由 + DNS CNAME
打開 Cloudflare 控制面板,喺 Workers 同 Pages 嘅設定入面,加一條路由規則。例如 license.goofish666.site/*,將呢個域名下嘅所有請求都轉發去個 Worker。
第二步去域名 DNS 管理,加一條 CNAME 記錄,將 license.goofish666.site 解析到 www.shopify.com。代理狀態一定要揀僅 DNS,唔好開橙色雲。
你可能會問:解析去 shopify,訪問呢個域名唔會去咗 Shopify 咩?唔會,因為第一步嘅路由規則會喺 CF 層攔截所有請求,轉發去 Worker。Shopify 只係借嚟用條優化線路,請求根本唔會到 Shopify 嘅真實伺服器。
原理:借 Shopify 嘅車,行佢嘅高速
點解偏偏係 Shopify?因為呢啲全球大廠喺國內做咗CDN 優化,節點延遲低、穩定性高。將你嘅域名 CNAME 去佢度,等於借佢嘅車行佢嘅高速。車牌係你嘅,路係佢嘅。
成個過程嘅核心思路係:用一個國內訪問穩定嘅域名做「前台接待」,CF Worker 喺後台幹活。技術有時就係咁有意思,正面硬剛撞牆,繞一下就解決。
反思:信息差嘅威力
知道呢個方法嘅人,5 分鐘搞掂。唔知道嘅,可能喺論壇鬧足三日 CF 都冇用。呢個就係信息差。
作者每次踩坑搞掂之後,都願意花時間寫出嚟,因為今日你踩嘅坑,聽日可能係另一個朋友嘅天坑。能少一個心態崩嘅,就少一個。
我之前整咗個瀏覽器插件,入面有個激活碼校驗功能,係行喺 Cloudflare 嘅 Worker 上面。 Worker 呢樣嘢,簡單啲講就係 CF 嘅邊緣運算節點。 用戶一 send 請求,CF 就會就近揾個節點嚟做嘢,照計應該好順滑先係。 但是。 不過一有「但係」就冇好事,老問題——CF 對外國係真係好,對大陸就真係唔掂。 一時得,一時唔得,一時延遲 50ms,一時直頭 5 秒先有反應。 老實講,呢種感覺好似喺國內用某啲梯子咁,成日突然同你講「今日到此為止」。 用戶鬧爆,我個心態都跟住崩潰。 於是我就開始研究,點樣幫 CF 嘅 Worker 配一個國內嘅優選節點。 研究落嚟其實得兩步,超簡單,簡單到我後悔自己冇早啲搞。 寫喺度俾所有同樣中過伏嘅朋友。 1. 設定 Workers 路由 打開 Cloudflare 嘅控制面板,揾 Workers 同 Pages,㩒入你嗰個 Worker 嘅設定。 喺「Workers」嗰欄加一條路由規則。 例如我自己就加咗 ![]() 簡單講就係:話俾 CF 知,將來邊個敲呢個域名嘅門,開門嘅工作都交畀呢個 Worker 做。 2. 域名 DNS 設定 第二步,去你個域名嘅 DNS 管理嗰邊。 加一條 CNAME 記錄,將
係,就係嗰個跨境電商嘅 shopify。 代理狀態一定要揀僅 DNS,唔好開 CF 嘅橙色雲(代理)。 ![]() 到呢一步,所有設定就搞掂曬。 呢度好多人會有個疑問:我將域名解析去 shopify,咁訪問呢個域名唔係會去咗 shopify 度? 唔會㗎。 因為第一步設定嘅路由規則會將 shopify 呢個域名,只係借咗佢喺國內嘅優化線路,請求根本到唔到 shopify 嘅真實伺服器。 寫喺最後 你可能會問,點解偏偏係 shopify,唔係其他? 簡單講,shopify 呢類全球大廠喺國內做咗 CDN 優化,節點延遲低、穩定性高。 將你個域名 CNAME 到佢身上,就好似借佢架車行佢條高速公路。 車牌仲係你嘅,路就係佢嘅。 至於 Worker 嘅邏輯,該點行就點行。 成個過程其實得一個核心思路:用一個國內訪問穩定嘅域名嚟做「前台接待」,CF Worker 喺後台做嘢。 技術呢家嘢,有時就係咁得意。 正面硬撼就好似撞牆咁,兜個彎,由一個意想不到嘅角度切入,問題就冇咗。 知道呢個竅門嘅人,5 分鐘搞掂。 唔知嘅,可能喺論壇鬧足三日 CF 都冇用。 呢啲就係資訊差。 亦係點解我每次中完伏搞掂之後,都願意花十分鐘寫出嚟。 畢竟你今日踩呢個氹,聽日可能就係另一個朋友嘅天坑。 能夠少一個心態崩嘅,就少一個。 以上,既然睇到呢度,如果覺得唔錯,隨手點個讚、睇、分享三連啦,如果想第一時間收到推送,都可以俾我個星標⭐~多謝你睇我篇文章,我哋,下次再見。
|
我之前不是搞了一個瀏覽器插件嗎,裏面有個激活碼校驗的功能,跑在 Cloudflare 的 Worker 上。 Worker 這玩意兒,簡單理解就是 CF 的邊緣計算節點。 用戶一發請求,CF 會就近找一個節點把活兒幹了,按理說應該挺絲滑的。 但是。 有"但是"的事就沒好事,老問題——CF 對國外是真好,對大陸是真不好。 一會兒能訪問,一會兒不能訪問,一會兒延遲 50ms,一會兒延遲直接 5 秒起步。 說實話,這種感覺特別像你在國內用某些梯子,時不時給你來一下"今天就到這兒吧"。 用戶罵娘,我也跟着心態崩。 於是開始研究,怎麼給 CF 的 Worker 配一個國內的優選節點。 研究下來其實就兩步,巨簡單,簡單到我後悔自己沒早點搞。 寫在這裏給所有踩同樣坑的朋友。 1. 配置 Workers 路由 打開 Cloudflare 的控制面板,找到 Workers 和 Pages,點進你那個 Worker 的設置。 在"Workers"那一欄里加一條路由規則。 比如我自己加的就是 ![]() 簡單說就是:告訴 CF,未來誰來敲這個域名的門,開門的活兒都交給這個 Worker 幹。 2. 域名 DNS 配置 第二步,去你的域名 DNS 管理那邊。 加一條 CNAME 記錄,把
對,就是那個跨境電商的 shopify。 代理狀態一定要選僅 DNS,不要打開 CF 的小橙雲。 ![]() 到這一步,所有設置就都搞定了。 這裏很多人會有個疑問:我把域名解析到 shopify,那訪問這個域名不就跑到 shopify 去了嗎? 不會的。 因為第一步配的路由規則會把 shopify 這個域名,只是借了它在國內的優化線路而已,請求根本到不了 shopify 的真實服務器。 寫在最後 你可能會問,為啥偏偏是 shopify,不是別的? 簡單說,shopify 這種全球大廠在國內做了 CDN 優化,節點延遲低、穩定性高。 把你的域名 CNAME 到它身上,相當於借它的車走它的高速。 車牌還是你的,路是它的。 至於 Worker 的邏輯該咋跑還咋跑。 整個過程其實就一個核心思路:用一個國內訪問穩的域名做"前台接待",CF Worker 在後台幹活兒。 技術這玩意兒,有時候就是這麼有意思。 正面硬剛的時候像撞牆,繞一下,從一個意想不到的角度切進去,問題就沒了。 知道這個梗的人,5 分鐘搞定。 不知道的,可能在論壇上罵三天 CF 都沒用。 這就是信息差。 也是為啥每次踩坑搞定之後,我都願意花十分鐘寫出來。 畢竟你今天踩的這個坑,明天可能就是另一個朋友的天坑。 能少一個心態崩的,就少一個。 以上,既然看到這裏了,如果覺得不錯,隨手點個贊、在看、轉發三連吧,如果想第一時間收到推送,也可以給我個星標⭐~謝謝你看我的文章,我們,下次再見。
|

