用hexo搭建博客以来,一直在寻找更好的建站方案。从站点到用户,DNS是非常重要的一环。而这个博客的DNS配置,一共改过三次方案。每次改变,都比前一次省心。
shingkit.me域名从Godaddy购买。
以下记录一下各方案。

自建VPS

最开始的方案是租赁VPS服务器,在Godaddy网站后台,把VPS的ip配置到DNS上。
由于是从域名指向ip, 使用A记录。

Type Name Value TTL
A @ xx.xx.xx.xx 1 Hour

Netlify

使用VPS的局限性在于需要花钱,且非永久,到期可能就不续费了,所以需要一个替代方案。
可以使用Github的 Github Page,也可使用更方便的Netlify,相关搭建流程在另一篇文章里说过。
在使用Netlify自动化部署博客后,DNS配置也需要改下。
Netlify生成的app入口域名是子域名,如 nostalgic-leavitt-xxxxxx.netlify.com。这里有两种方案:

  1. 域名->域名,需要使用CNAME
    Godaddy配置:

    Type Name Value TTL
    CNAME @ nostalgic-leavitt-xxxxxx.netlify.com 1 Hour
  2. 把域名管理权交给Netlify
    相关文档:这里
    Godaddy配置:
    修改NS,使用Netlify的DNS

    WeChat4bdf6e643b31405514fef9ecc6e74f06.png

  3. 在Netlify域名管理面板下添加域名shingkit.me
    url: https://app.netlify.com/sites/nostalgic-leavitt-xxxxxx/settings/domain/setup

大功告成后,DNS解析路径如下:
Godaddy -> Netlify DNS Server -> Netlify给出的子域名
(nostalgic-leavitt-xxxxxx.netlify.com)

加上Cloudflare的CDN

用上CDN,让访问更快!

  1. Godaddy配置:
    这里同样,把NS修改至CloudFlare。

    https://i.loli.net/2020/04/09/OwETbG5tF1zPqQ4.png

  2. CloudFlare配置
    在CloudFlare后台给shingkit.me配置CName至Netlify

    Type Name Value TTL
    CNAME www nostalgic-leavitt-xxxxxx.netlify.com 自动

大功告成后,DNS解析路径如下:

Godaddy -> Cloudflare -> Netlify

总结

DNS
A记录 域名到ip
CNAME 域名到域名
AAAA 域名到ipV6
NS 域名管理权托管