【配置】Win10使用Vercel托管Hexo博客
1 Vercel配置
进入Vercel官网,点击右上角Sign Up
注册,选择Continue with GitHub
使用GitHub账号注册。

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

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

导入完会自动进入部署页面,可以修改一下项目名,因为仓库中已经是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。

关闭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
,如果有,请关闭。

生成证书后,配置成功

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

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