mogutouer
V2EX  ›  服务器

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

  •  
  •   mogutouer · Apr 20, 2020 · 4741 views
    This topic created in 2239 days ago, the information mentioned may be changed or developed.
    11 replies    2020-04-26 13:29:36 +08:00
    yuzo555
        1
    yuzo555  
       Apr 20, 2020   ❤️ 1
    DNS 厂商一般会提供 301 选项,但是好像一般 301 的类型不支持分区。

    这个事情建议还是在服务器层面做。
    mogutouer
        2
    mogutouer  
    OP
       Apr 20, 2020
    @yuzo555 #1 dnspod 支持,谢谢
    mogutouer
        3
    mogutouer  
    OP
       Apr 20, 2020
    我其实是想做,网站内容在国外服务器上,如果是国外用户就直接访问,国内用户就跳到 CDN 的域名上
    l0wkey
        4
    l0wkey  
       Apr 20, 2020 via iPhone   ❤️ 1
    shiji
        5
    shiji  
       Apr 20, 2020 via iPhone   ❤️ 1
    用 dns 去做 http 的事,,是不可能的

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

    我发现 dnspod 里可以设置境外访问用户和境内访问用户设置不同的 URL 跳转或 A 记录或 CNAME,我测试一下看看
    mogutouer
        8
    mogutouer  
    OP
       Apr 20, 2020
    好像有点绕了,我网站是 wordpress,我其实是只想实现国内用户去到 CDN 域名 cn.sample.com ,不知道 wordpress 有没有相关的插件。
    Kei001
        9
    Kei001  
       Apr 22, 2020   ❤️ 1
    不需要插件啊,用 dnspod 分线路解析,将 example.com 都分别解析到国内国外的服务器,再给国内的服务器设置里加个访问 example.com 就跳转到 cn.example.com 的 301 跳转即可即可。
    mogutouer
        10
    mogutouer  
    OP
       Apr 22, 2020
    @Kei001 #9 但是我也想实现用户非要访问国外版也可以,就是 dns 级别自动跳,但是他非要访问国外版也可以,不是每次都强纸跳的那种
    txydhr
        11
    txydhr  
       Apr 26, 2020 via iPhone
    目前大多数网站采取的方法是用户首次访问根据 ip/浏览器语言跳转,并在首页提供切换语言 /地区选项。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2875 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 15:07 · PVG 23:07 · LAX 08:07 · JFK 11:07
    ♥ Do have faith in what you're doing.