1 stabc 2021-04-30 08:11:08 +08:00 ![]() 你想实现一个什么效果? |
3 tsungkang 2021-04-30 08:17:52 +08:00 ![]() 国内的厂商基本都可以,而且你不仅可以境内外区分,还能给不同运营商指定不同的内容,比如电信 A 到 IP1,移动 CNAME 到 cf,联通又 A 到 IP2 。 同个区域的 A 跟 CNAME 共存我倒是没试过,不过如果厂商如果比较周到的话,可能会平铺 CNAME 然后跟 IP 混在一起? |
4 whileFalse 2021-04-30 08:19:30 +08:00 你这个需求叫分区解析,不叫共存。 |
![]() | 5 zijian OP @tsungkang 我试过不加代理访问我的站,dig 出来的 IP 是国内服务器本身的,加了全局代理,再 dig 出来的是国外 cdn 节点的 IP,不知道这样测试的结果是否正确。 |
![]() | 6 zijian OP @whileFalse 嗯,这样对用户访问有没有影响呢?尤其是对国内 IP 的用户。 |
7 whileFalse 2021-04-30 08:24:49 +08:00 ![]() @zijian 如果分区解析做得好就没影响。 做得不好的意思是本来国内的用户 DNS 厂商以为是国外用户,然后丢给他一个 CDN 网址酱紫。 |
![]() | 8 gesse 2021-04-30 08:37:10 +08:00 DNSPOD 不行,分区解析,有 A 记录和 CNAME 记录共存也不行。 |
![]() | 9 MrUser 2021-04-30 08:44:13 +08:00 很多年以前发现同时有 A 和 CNAME 时会影响 MX 记录的邮件接收还是发送,记不清了。 |
![]() | 10 alect 2021-04-30 08:51:22 +08:00 我就是这么干的,不过我用的是阿里云 |
12 reed2020 2021-04-30 09:15:31 +08:00 GeoDNS? |
![]() | 13 no1xsyzy 2021-04-30 09:30:40 +08:00 一旦发现 CNAME 就会跟着 CNAME 走了,A 记录看都不看。 不过如果 DNS 服务提供商可以做到你配起来是 CNAME 实质上平铺为 A,然后根据请求者 IP 返回最近的。 |
![]() | 14 cz5424 2021-04-30 09:37:48 +08:00 跑个题:国内厂商华南华北分区能做到吗 |
![]() | 15 zijian OP @whileFalse 是的,我也是考虑到会不会本来是国内 IP 访客带到国外的 cdn 上,然后造成访问超时,用户关闭页面,因为自从我这样设计后,网站流量大幅下降,所以我才来问大伙儿的。 |
![]() | 19 barrysn 2021-04-30 10:00:41 +08:00 这不是以前提的 智能 dns 的概念么 是可以实现的 ,而且好多年了 |
![]() | 21 zijian OP 如果流量下降能排除 DNS 的问题我就去看服务器配置 |
![]() | 22 oott123 2021-04-30 10:39:45 +08:00 via Android 你的情况下,简而言之:如果没有 MX 、TXT 等记录在同一个子域名下,则没有影响;如果有,那么海外的 MX / TXT 这类记录会失效。 |
28 pengyu 2021-04-30 14:47:36 +08:00 CNAME 和 A 记录不能共存,你的需求也不是共存,就是分区解析,国内的 DNS 运营商基本都提供这个功能,一般不会出错,Nodecache 的 DNS 也支持这个功能,节点端是我写的,如果用这个遇到问题可以找我。 |
29 qiangzhiming 2021-04-30 14:57:37 +08:00 @alect 我测试阿里云 dns 好像同线路 A 记录和 cname 也是不能共存的,报 “CNAME”记录与“A”记录冲突 |
![]() | 30 alect 2021-04-30 15:01:12 +08:00 @qiangzhiming #29 先设置国外线路用 CNAME,然后设置默认使用 A 。 |
![]() | 31 alect 2021-04-30 15:02:09 +08:00 @qiangzhiming #29 同线路当然不行 |
![]() | 33 lxz6597863 2021-04-30 16:52:44 +08:00 A 和 CNAME 不能共存 变通点,把那个 A 记录也做成 CNAME,然后按线路去添加国内外的解析就行了 |
![]() | 34 zijian OP @lxz6597863 您指的不能共存事说同一种线路类型下吗?我是默认(或者说境内)A 记录走源站,境外 CNAME 到 CDN |
![]() | 35 JensenQian 2021-04-30 21:21:54 +08:00 via Android @cz5424 华为云免费的 |
![]() | 36 moxnet 2021-05-01 00:27:37 +08:00 对同一个子域名,不应该同时添加 A 记录和 CNAME 记录,也不能添加。更具体的说,在 bind 的同一个 view 中,或“智能解析”的同一个线路下,单个子域名不能同时添加 CNAME 和任何其它类型的记录。 为什么?因为 CNAME 会缓存;并且当请求任何类型的记录时,cache dns 可以以 CNAME 的值响应。 比如你同时添加了 dog.foo.bar 这个子域名的 A 记录 1.1.1.1,和 CNAME 类型记录值 www.v2ex.com 。若 cache dns 缓存了 CNAME 值 www.v2ex.com ,当另外有用户向 cache dns 请求解析 dog.foo.bar 的 A 记录时,cache dns 会直接把 www.v2ex.com 响应。即有些用户请求 A 记录时,获得的并不是你想让他得到的 1.1.1.1 对 CNAME 和其它类型需要共存的一个现实的需求,可能是一个子域名即做网站又做其它应用如邮箱,而网站需要做 cdn 服务,cdn 服务厂商需要你将域名做 cname 指过去~~~ |
![]() | 37 moxnet 2021-05-01 00:30:44 +08:00 针对楼主的问题,在不同的线路中,A 和 CNAME 可以共存,只要不在同一线路中同时共存即可。 即 bind view 1(或智能解析的线路)中给子域名 dog.foo.bar 添加一条 A 记录,而在另一个 view 中给子域名 dog.foo.bar 添加一条 CNAME 记录,是应该允许添加的。 |
![]() | 39 patx 2021-05-02 09:23:29 +08:00 cloudflare partner |