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

2016-09-11 10:05:37 +08:00
 poropro
比如华为官网
www.huawei.com/cn 国内用户访问
www.huawei.com/us 美国用户
www.huawei.com/hk 香港用户

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

因为 a 记录只能绑定一个 ip
3056 次点击
所在节点    问与答
18 条回复
auser
2016-09-11 10:10:18 +08:00
因为 a 记录只能绑定一个 ip
auser
2016-09-11 10:10:38 +08:00
这句话错了
jasontse
2016-09-11 10:19:20 +08:00
geoip + 302 重定向
icybee
2016-09-11 10:55:48 +08:00
直接判断 ip 来源感觉没什么问题
9hills
2016-09-11 10:57:09 +08:00
解决办法太多了,最简单的是根据来源 IP 跳转
czb
2016-09-11 11:06:49 +08:00
A 记录可以通过 Geo IP 来分发
Livid
2016-09-11 11:09:29 +08:00
这个问题如果用 CDN 解决的话(大公司肯定都是用 CDN 的),是一个很多层一起构成的解决方案:

1. DNS 和 Anycast 层面实现让用户到达离他最近的服务器
2. 不同的目录可以去不同的源站获取,这样的话,美国的目录可以从美国的源站获得,德国的目录可以从德国的源站获得
poropro
2016-09-11 13:14:49 +08:00
@Livid 域名如何解析
poropro
2016-09-11 13:15:02 +08:00
@auser 怎么错了
poropro
2016-09-11 13:15:29 +08:00
@9hills 域名只能绑定一个 ip
9hills
2016-09-11 13:25:25 +08:00
@poropro 不冲突, IP 并不代表背后的服务器只有一台,也不代表背后的服务器只在一个地域
9hills
2016-09-11 13:35:39 +08:00
上面说方法很多,包括 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
2016-09-11 13:36:41 +08:00
@poropro 高级点的 nameserver 都支持按照地域解析。 再一个一个域名可以绑定很多 IP 呀
BOOM
2016-09-11 13:40:23 +08:00
我去看了看苹果的。之前一直以为分国家 ip 。
然后发现,好像是根据 ip 来分配服务器,然后只是语言不同。。。
比如中国访问 apple.com/uk 依然是访问中国的服务器,只是是英文。
msg7086
2016-09-11 14:33:56 +08:00
一个域名并非只能绑一个 IP (或者说并非只能绑一个 a 记录)。
一个 IP 并非只能指向一台服务器。
所以首先你要搞懂这些你不清楚的东西。
yhxx
2016-09-11 14:44:58 +08:00
判断 IP 然后 302 一下?
techmoe
2016-09-11 15:02:28 +08:00
那就检测来路 IP 然后跳呗
不过这种通过 URI 分服务器的我还真没太见过
难道是说他们有一个主机子然后分别把那三个路径反代过去?这样归根结底不还得先把请求甩到一台机器上
kawaiiushio
2016-09-11 18:53:10 +08:00
cname

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX