【配置】Win10使用Vercel托管Hexo博客

1 Vercel配置

进入Vercel官网,点击右上角Sign Up注册,选择Continue with GitHub使用GitHub账号注册。

注册vercel

注册完成后,会进入新建项目页面。如果没有,点击页面左上角进入控制面板,点击Overview进入概览,点击New Project

新建项目

Import Git Repository下面的选择框中选择Add GitHub Account,在弹出来的页面中选择之前配置GitHub Pages用的仓库,然后点击Import

选择GitHub项目

导入完会自动进入部署页面,可以修改一下项目名,因为仓库中已经是Hexo生成的页面文件了,预设框架选择默认的Other即可。直接点击Deploy开始部署。

部署配置

部署完成,Vercel会提供几个.vercel.app的默认域名进行访问。

部署完成

2 使用自定义域名

因为我目前使用Cloudflare管理域名(参考【配置】Win10将域名NameServer从NameSilo替换到Cloudflare),所以接下来将以Cloudflare作为例子。

在Vercel中进入项目的Setting设置页,选择Domains域名管理,可以看到当前配置的自定义域名。其中包含了Vercel默认生成的二级域名,点击Edit可修改为其它无人占用的.vercel.app域名,详细信息可以查看Vercel官方文档

想要使用其它自定义域名,在输入框中输入,点击Add添加。

添加域名

添加完后,需要验证配置,这里选择CNAME方式。

验证配置

登录Cloudflare,在域名的DNS配置中,选择添加记录,填写之前Vercel要求的解析内容。按需选择是否开启Cloudflare CDN。

添加DNS

关闭Cloudflare CDN

Cloudflare提供的代理服务在大陆访问速度过慢,我们可以选择关闭Cloudflare的反向加速服务。在Cloudflare的DNS记录配置中,点击编辑,取消代理状态。

关闭代理

开启Cloudflare CDN

回到Vercel页面,如果之前配置了Cloudflare代理,会发现还是有问题,点击Learn More查看Vercel官方文档给的提示。

配置失败
了解更多

Vercel构建项目时,使用Let's Encrypt颁发SSL证书,会向域名/.well-known/acme-challenge发出HTTP请求,如果此HTTP请求被Cloudflare重定向到HTTPS,则无法生成证书。

打开CMD,输入以上curl命令测试,注意是HTTP请求。如果返回的是404说明成功,如果是3XX重定向,那么Cloudflare会阻止访问此路由,且Vercel会将域名标记为未配置。

1
curl http://your.domain.com/.well-known/acme-challenge -I
测试

一般都是3XX重定向,需要添加例外配置。打开Cloudflare,在规则 - 页面规则中,点击创建页面规则

创建规则

URL输入框中输入*your.domain/.well-known/*,在选取设置的下拉列表中选择SSL,然后在选择SSL设置下拉列表中选择,点击保存和部署页面规则

填写规则

如果依旧是配置失败,请检查Cloudflare的配置,在SSL/TLS - 边缘证书中,是否开启了始终使用HTTPS,如果有,请关闭。

关闭始终HTTPS

生成证书后,配置成功

生成证书

3 其它问题

ERR_TOO_MANY_REDIRECTS

打开页面时,提示ERR_TOO_MANY_REDIRECTS重定向次数过多,请尝试清除Cookie。但是清除Cookie无用,重新打开依旧是这个提示。

重定向

在Cloudflare的SSL/TLS - 概述中,将模式改为完全(严格)模式。

严格模式