请问如何实现 DNS 解析,如果国内访问就跳到 cn.sample.com,如果国外 IP 访问就 sample.com

2020-04-20 19:56:57 +08:00
 mogutouer
3957 次点击
所在节点    服务器
11 条回复
yuzo555
2020-04-20 20:04:41 +08:00
DNS 厂商一般会提供 301 选项,但是好像一般 301 的类型不支持分区。

这个事情建议还是在服务器层面做。
mogutouer
2020-04-20 20:09:09 +08:00
@yuzo555 #1 dnspod 支持,谢谢
mogutouer
2020-04-20 20:09:56 +08:00
我其实是想做,网站内容在国外服务器上,如果是国外用户就直接访问,国内用户就跳到 CDN 的域名上
l0wkey
2020-04-20 20:10:14 +08:00
shiji
2020-04-20 20:15:08 +08:00
用 dns 去做 http 的事,,是不可能的

土办法 自己判定 ip 做跳转
或者
GeoDNS 需要你 nameserver 的支持,比如 dnspod 和 AWS ROUTE53. 针对同一个域名 不同地区可以解析出不同的 ip,sample.com 设置国外解析到原 ip, 国内解析到一个专门用来跳转的服务器
yuzo555
2020-04-20 20:17:44 +08:00
还有就是让 DNS 去做的话,会不支持 HTTPS 访问的跳转。
mogutouer
2020-04-20 20:17:52 +08:00
@shiji #5
@l0wkey #4

我发现 dnspod 里可以设置境外访问用户和境内访问用户设置不同的 URL 跳转或 A 记录或 CNAME,我测试一下看看
mogutouer
2020-04-20 20:21:25 +08:00
好像有点绕了,我网站是 wordpress,我其实是只想实现国内用户去到 CDN 域名 cn.sample.com ,不知道 wordpress 有没有相关的插件。
Kei001
2020-04-22 06:11:42 +08:00
不需要插件啊,用 dnspod 分线路解析,将 example.com 都分别解析到国内国外的服务器,再给国内的服务器设置里加个访问 example.com 就跳转到 cn.example.com 的 301 跳转即可即可。
mogutouer
2020-04-22 09:24:48 +08:00
@Kei001 #9 但是我也想实现用户非要访问国外版也可以,就是 dns 级别自动跳,但是他非要访问国外版也可以,不是每次都强纸跳的那种
txydhr
2020-04-26 13:29:36 +08:00
目前大多数网站采取的方法是用户首次访问根据 ip/浏览器语言跳转,并在首页提供切换语言 /地区选项。

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

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

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

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

© 2021 V2EX