惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
博客园_首页
Jina AI
Jina AI
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Vercel News
Vercel News
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
B
Blog
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Zero の 日常

MacBook M1 Pro 双屏方案 上海电信SDN更换7015TV RHEL 7.9 从 GRUB 引导启动 Hardware upgrade for 2022 Valve Index + HTC Tracker 3.0 开箱记录! 有手就行系列:SlimeVR全身追踪方案 基于goestools与xrit-rx的GK2A气象卫星接收教程 Prometheus实现对IDRAC的SNMP监控 Maven中央仓库项目上传指南 CQ CQ CQ DE BG5ISN PSE K 关于我买不到空气显卡这件事 Mac iTerm2 lrzsz 从零开始的飞机追踪之旅 GitHub单个文件脱敏处理 Protobuf浅解 Prometheus + AlertManager实现告警推送 Prometheus Exporter Prometheus监控系统部署 Nginx负载均衡(加权轮询)
CNAME与MX记录冲突小记
Zero · 2024-08-09 · via Zero の 日常

缘起

花了两天时间将博客从 Typecho 迁移至 Hexo, 既然是 Hexo 那不白嫖都不行了对吧。遂将博客部署至 Github Pages,评论则部署到了 Vercel + MongoDB Atlas。主打一个白嫖到底(

但是 Github Pages 在中国大陆的访问速度并不尽人意,于是又套了一层腾讯云的 CDN 来加速访问。

概述

由于 CNAME 跟任何记录都冲突的特性,在根域 @ 下添加 CNAME 记录指向 CDN(或其他服务)会导致 mx(邮箱记录)、TXT、DS 等记录冲突等且多级 CNAME 会导致解析性能下降等问题。

参考资料

而我由于配置了域名邮箱的 MX 解析,在我给 @ 添加 CNAME 解析时,DNSPod 弹出冲突警告。但此时解析记录还是能够被创建出来,但是会面临邮箱无法正常收信、收信时好时坏的风险。这是因为若邮箱服务器的 localDNS 优先进行了 @ 记录的 CNAME 类型解析,此时对 @ 记录的 MX 类型解析会受到影响,从而产生解析失败或无法达到预期解析结果的现象。

可行方案

  • A 记录轮询(未深入了解)
  • 使用 ALIAS 记录替换 CNAME(好像 DNSPod 并不支持,遂放弃)
  • 使用 www 接入 CDN,并将 @ 通过 A 记录指向 Github Pages 的 IPv4 地址,在请求 @ 时跳转到 www(最终采用)

采用方案

  • Github Pages 设置自定义域名为 www.mikuac.com

  • @ 通过 A 记录解析到 Github Pages 的 IPv4 地址

    1
    2
    3
    4
    185.199.108.153
    185.199.109.153
    185.199.110.153
    185.199.111.153
  • www 通过 CNAME 解析到 CDN 地址

  • CDN 回源到 Github Pages 的四个 IPv4 地址

  • CDN 回源 HOST 配置为 www.mikuac.com

结论

在经过这么一番折腾之后,已经能够满足我的要求了,除了在访问博客的时候会有 www 有点不爽之外。但是现在的浏览器都会隐藏 www 所以也没啥实质性的影响。

当用户请求 mikuac.com 时,请求会解析至 Github Pages,随后 Github Pages 会将该链接跳转至 www.mikuac.com 以使得访问者通过 CDN 来加速访问以达到我们想要的效果。

后话

在给 @ 配置 Github Pages A 记录的时候,发现 DNSPod 最高只能配置 2 条记录(表示疑惑),需要收费升级套餐才能够添加更多的记录,时间有点久远,已经忘记当时为什么用 DNSPod 了。

感觉应该把换一个 DNS 服务商提上日程了(

其他文章