poropro
V2EX  ›  问与答

国内 国际网站 服务器如何实现各地区加载

  •  
  •   poropro · Sep 11, 2016 via Android · 3656 views
    This topic created in 3535 days ago, the information mentioned may be changed or developed.
    比如华为官网
    www.huawei.com/cn 国内用户访问
    www.huawei.com/us 美国用户
    www.huawei.com/hk 香港用户

    如何让美国服务器加载 us ,香港加载 hk 国内加载 cn

    因为 a 记录只能绑定一个 ip
    18 replies    2016-09-11 18:53:10 +08:00
    auser
        1
    auser  
       Sep 11, 2016
    因为 a 记录只能绑定一个 ip
    auser
        2
    auser  
       Sep 11, 2016
    这句话错了
    jasontse
        3
    jasontse  
       Sep 11, 2016 via iPad
    geoip + 302 重定向
    icybee
        4
    icybee  
       Sep 11, 2016
    直接判断 ip 来源感觉没什么问题
    9hills
        5
    9hills  
       Sep 11, 2016 via iPhone
    解决办法太多了,最简单的是根据来源 IP 跳转
    czb
        6
    czb  
       Sep 11, 2016 via Android
    A 记录可以通过 Geo IP 来分发
    Livid
        7
    Livid  
    MOD
    PRO
       Sep 11, 2016
    这个问题如果用 CDN 解决的话(大公司肯定都是用 CDN 的),是一个很多层一起构成的解决方案:

    1. DNS 和 Anycast 层面实现让用户到达离他最近的服务器
    2. 不同的目录可以去不同的源站获取,这样的话,美国的目录可以从美国的源站获得,德国的目录可以从德国的源站获得
    poropro
        8
    poropro  
    OP
       Sep 11, 2016 via Android
    @Livid 域名如何解析
    poropro
        9
    poropro  
    OP
       Sep 11, 2016 via Android
    @auser 怎么错了
    poropro
        10
    poropro  
    OP
       Sep 11, 2016 via Android
    @9hills 域名只能绑定一个 ip
    9hills
        11
    9hills  
       Sep 11, 2016
    @poropro 不冲突, IP 并不代表背后的服务器只有一台,也不代表背后的服务器只在一个地域
    9hills
        12
    9hills  
       Sep 11, 2016
    上面说方法很多,包括 livid 的方法也是其中之一。还是具体实例具体分析吧, huawei 是怎么做的可以给你简单分析下


    华为的 www.huawei.com 并不是 A 记录,而是一个 CNAME (不同的地域解析出来的可能不同)
    www.huawei.com. 600 IN CNAME www.huawei.com.akadns.net.
    www.huawei.com.akadns.net. 300 IN CNAME www.huawei.com.lxdns.com.
    www.huawei.com.lxdns.com. 600 IN CNAME huawei.dtwscache.ourwebcdn.com.
    huawei.dtwscache.ourwebcdn.com. 60 IN A 111.13.135.182

    当然一般网站一层就够了,华为套了好多层。。这层 CNAME 链是保证不同地域的用户可以解析到临近的 IP 地址( CDN 服务商提供的临近解析)

    以我为例,解析到了 111.13.135.182 ,然后一个简单的 302 跳转(用 chrome 可以看到),到 www.huawei.com/cn/
    shiji
        13
    shiji  
       Sep 11, 2016 via Android
    @poropro 高级点的 nameserver 都支持按照地域解析。 再一个一个域名可以绑定很多 IP 呀
    BOOM
        14
    BOOM  
       Sep 11, 2016
    我去看了看苹果的。之前一直以为分国家 ip 。
    然后发现,好像是根据 ip 来分配服务器,然后只是语言不同。。。
    比如中国访问 apple.com/uk 依然是访问中国的服务器,只是是英文。
    msg7086
        15
    msg7086  
       Sep 11, 2016
    一个域名并非只能绑一个 IP (或者说并非只能绑一个 a 记录)。
    一个 IP 并非只能指向一台服务器。
    所以首先你要搞懂这些你不清楚的东西。
    yhxx
        16
    yhxx  
       Sep 11, 2016
    判断 IP 然后 302 一下?
    techmoe
        17
    techmoe  
       Sep 11, 2016 via Android
    那就检测来路 IP 然后跳呗
    不过这种通过 URI 分服务器的我还真没太见过
    难道是说他们有一个主机子然后分别把那三个路径反代过去?这样归根结底不还得先把请求甩到一台机器上
    kawaiiushio
        18
    kawaiiushio  
       Sep 11, 2016 via iPhone
    cname
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3129 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 03:41 · PVG 11:41 · LAX 20:41 · JFK 23:41
    ♥ Do have faith in what you're doing.