从Vercel迁移到Netlify

这个博客使用hexo框架,代码及所有内容都托管在Github上,然后通过Vercel的serverless服务自动构建。每次在Github.dev上写完新文章(或者修改),Vercel会自动重新构建然后发布。为了提高国内的访问速度,我还套上了国内CDN(虽然vercel本身自带CDN能力,但是国内速度不理想)。一直用的很好。

最近一次发布新博客文章,突然报错。检查一番发现,原来是Vercel不再支持低版本的node.js导致的。(目前Vercel支持Node.js 16.x及18.x)

我使用的这个hexo 主题Minos,因为时间太过久远(原作者也早已停止更新),只能使用低版本的node.js(14.x)。

经过种种尝试及考虑,决定从Vercel迁移到Netlify。Netlify功能及使用与Vercel大同小异。这里主要记录下套上国内CDN的技术细节,每次在这个问题上都要思考实验很久。

同Vercel一样,除了提供一个免费的二级域名,Netlify也能绑定自己的域名。同时支持重定向(能自动将 jiangyu.org 重定向到 www.jiangyu.org ,反过来也行),支持https(可以上传自己的证书,也能使用其免费提供的Let’s Encrypt certificate证书),同时自带CDN能力。

以上是背景细节。我的需求是因其自带的CDN能力,国内访问时效果很差,想替换成国内的CDN服务。

Netlify提供多种绑定域名解析的方式,DNS,A记录,cname。把域名添加到Netlify(先不解析),将 www.jiangyu.org 设置成主域名,这样会自动将 jiangyu.org 重定向到 www.jiangyu.org

在CDN服务商的控制面板,分别添加 www.jiangyu.org 和 jiangyu.org 两个加速域名服务。源站填写Netlify提供的负载均衡IP–75.2.60.5,二级域名以及通过ping二级域名得到的IP地址(因为Netlify默认自带CDN,此IP会有多个)。因为开启了https,所以源站端口均填写443。jiangyu.org 因为重定向了,CDN加速服务里开启回源跟随301/302。

我使用的dnspod解析域名,可以将国内国外分开解析。国内将@及www域名分别cname到CDN服务商给出的地址。国外(默认)cname到Netlify提供的二级域名(*.netlify.app)。这样国外访问者仍能使用Netlify自带的CDN能力。

最后等待所有设置生效即可。

hexo-netlify

hello Obsidian! 广州新文化馆

  评论

Nickname
Email
Website
0/500
  • 百度表情
  • 新浪微博
  • 脸书表情
7 comments
gary

请问您的域名是在Netlify上注册的还是国内注册的域名,我用的是阿里云的CDN加速,似乎需要备案域名才可以在国内加速?
感谢指导

法兰克福
macOS Catalina
Chrome 129.0.0.0

要用国内的cdn,域名需要备案。

广东
Android Quince Tart
WeChat 8.0.53.2740

了解了,非常感谢!

法兰克福
macOS Catalina
Chrome 129.0.0.0

感谢分享

上海
Windows 10
Chrome 86.0.4240.198

完全看不懂,技术性很强呀

重庆
Windows 10
Firefox 117.0
山歌

虽然看不懂,还是留个言。

江苏
Windows 10
Microsoft Edge 116.0.1938.69

好吧,很多东西已超过了俺的理解能力,飘过..:笑哭:

广东
Windows 10
Microsoft Edge 116.0.1938.69

的确挺好用的。

河南
Android Quince Tart
Microsoft Edge 115.0.1901.196

看着也挺繁琐。

上海
Windows 10
Firefox 117.0