例如 美国用户访问时回源到 美国的源站。
伪代码表示我想实现的意图:
Browser:
    Access CDN domain (cdn.com)
CDN:
    if user IP is US:
        Serve from us.com origin
    else if user IP is Europe:
        Serve from eu.com origin
    else if user IP is China:
        Serve from cn.com origin
    else:
        Default action (not specified)


|  |      1yuzo555      2024-07-18 01:03:56 +08:00 首先 CDN 节点要够广,确保用户附近有节点; 然后就是设置域名源站,域名源站的 DNS 根据位置解析不同的 IP 源站。 | 
|  |      2herozzm      2024-07-18 01:11:50 +08:00 这不就是 cdn 的原理嘛 | 
|  |      3ZeekChatCom      2024-07-18 07:14:58 +08:00 via iPhone @herozzm 并不是。一般而言,CDN  是要求访问节点靠近用户,而不是源站。 | 
|  |      4yushiro      2024-07-18 09:11:36 +08:00 via iPhone  1 这跟 cdn 有啥关系?你内容都不放 cdn 节点,要求用户访问源站,那应该在 dns 上做文章啊。 类似国内可以配置电信,联通,移动不同线路不同的 ip | 
|      5lp7631010      2024-07-18 09:13:39 +08:00 想自建 cdn ? | 
|  |      6duanxianze      2024-07-18 09:13:41 +08:00 只能从 dns 解析下手,和 cdn 目的不同,原理相同 | 
|  |      7ersic      2024-07-18 09:20:25 +08:00  1 | 
|      8Dragonish3600      2024-07-18 09:29:23 +08:00 via iPhone 这不就 smartdns | 
|  |      9Sayuri      2024-07-18 09:50:37 +08:00 阿里云企业版 DNS 可以解决这个问题。 | 
|      10leonshaw      2024-07-18 09:53:00 +08:00 源站内容不一样? | 
|  |      11xzysaber      2024-07-18 10:03:09 +08:00 这个目的是啥?为了省流? 只对特定区域使用 CDN 。 | 
|  |      12yuzo555      2024-07-18 10:10:48 +08:00  2 | 
|  |      13IvanLi127      2024-07-18 10:15:21 +08:00 如果需求是要回源,这种不就是边缘计算吗?直接把源放在离用户最近的节点。要全部自建的话就按 CDN 的方案做,不然就按云服务商的方案做边缘计算。 | 
|      14DoNotSpeek      2024-07-18 10:31:33 +08:00 这需求跟 cdn 、回源没啥关系吧 入口网址里加个 IP 地址库,根据 IP 地址重定向到相应的域名就是了。 | 
|  |      15dzdh      2024-07-18 10:34:04 +08:00 @yuzo555 #12  分情况的吧?前提是用户[已经]到达哪个节点吧? 如果美国的用户,已经到达了中国的节点,你再重新回到美国源站拉数据?不应该是从 CDN 节点就近的中国节点拉数据才更快吗? 除非源站内容不一样或者 GDPR 要求。 | 
|  |      16dzdh      2024-07-18 10:35:27 +08:00 重新看了题目看懂了。   那这就不就是 dns 解析上下手的问题 0.0 | 
|  |      17wy315700      2024-07-18 10:44:04 +08:00 | 
|  |      19main1234      2024-07-18 11:13:46 +08:00 在 cdn 上面写个 lambda ,在 lambda 里面写你要的逻辑 | 
|      21leonshaw      2024-07-18 11:31:45 +08:00 源站内容都一样,约等于你自己就是 CDN ,然后外面再套一层。就按上面说的 Geo DNS ,用户就近接入 CDN 节点,节点就近回源。 | 
|      23ccde8259      2024-07-18 12:38:26 +08:00 这种情况应该用 Anycast | 
|      24qingzhijiusheng      2024-07-18 13:23:29 +08:00 dns 不同地域解析,举例子,国内和国外,国内走国内源,国外走 cf 。 然后你在分别加上 cdn 就行 | 
|      25hefish      2024-07-18 13:38:30 +08:00 可以用多个 cdn ,for us 一个,for eu 一个,for cn 一个。。。 然后用 dns 分流。 | 
|  |      26ipwx      2024-07-18 13:49:00 +08:00 这不会是该死的野生面试题吧。。 问题怪怪的。 | 
|  |      27Diego01      2024-07-18 14:06:32 +08:00 CDN ,条件源站加规则就可以吧 | 
|  |      28qsnow6      2024-07-18 14:37:34 +08:00 如果是静态内容的话,用预热接口把更新的内容推到 CDN 的节点上就行了,就不需要回源了。 | 
|      29QlanQ      2024-07-18 15:16:46 +08:00 需求是啥?这样做的目的是啥? | 
|  |      30liuliancao      2024-07-18 15:39:43 +08:00 地域 dns 每个指向 CNAME 各自的 cdn 域名 可以不 | 
|  |      31BeijingBaby      2024-07-18 16:27:55 +08:00 | 
|  |      32BeijingBaby      2024-07-18 16:29:03 +08:00 | 
|  |      33azhangbing      2024-07-18 16:52:41 +08:00 从 DNS 入手 HTTPDNS 移动解析可以定义规则好像 | 
|      34ThirdFlame      2024-07-18 17:30:49 +08:00 比如阿里的 dcdn 支持回源写域名的。  那么上智能解析,就会让 dcdn 服务器回源时就根据解析结果回源到不同的服务器的 |