前言
hexo托管到腾讯云对象存储后,尝试了自定义域名,cdn加速
整套流程走下来,踩了几个坑,花了两天时间搞定
记录一下踩过的坑
自定义域名,乃至cdn加速的开启,都需要以下几个域名的对应关系
ps:以下域名为举例,实际地址需要在对象存储和cdn控制台去查看
说明 | 域名 | 说明 |
---|---|---|
开启静态网站默认访问地址 | t.com | 此网址为腾讯云官方提供的三级域名,不可修改 |
自定义域名 | a.com | 国内自有域名,使用前需备案 |
开启cdn后 | t.cdn.com | 此域名直接访问无效,只能在cdn控制台设置cname使用 |
设置流程:
- 开启静态网站很简单,设置存储桶为公有读私有写,开启静态网页设置
此时通过 t.com 即可成功访问 - 有备案过的域名,开启自定义域名访问即可
- 此时只需要在自己的域名解析里,把a.com 设置cname为 t.com 即可
- 建议开启https,按指引免费申请https证书并配置即可
- 开启cdn的话,把上一步dns解析cname改为 t.cdn.com 即可
踩坑一 hexo路径问题
表现
- 未开启cdn,直接访问存储桶,此时返回xml文档 提示 access denied
- 已开启cdn,会有cdn的报错 提示 404
原因分析
- hexo的首页其实是访问的根路径下的 /index.html 访问 a.com 实质访问的是 a.com/index.html
- 具体的文章访问的是 /year/month/day/title 路径下的 index.html 实质访问的是 a.com/year/month/day/title/index.html
解决
在静态网站设置那里研究了下,设置了改写路径,设置了重定向规则, / 结尾都替换为 /index.html
对应腾讯云对象存储静态网页设置如图所示
踩坑二 开启cdn后https证书问题
表现
请求服务后页面提示
- 此服务器无法证明它是 a.com 其安全证书来自 xx.cdn.myqcloud.com
解决:在cdn控制台https证书管理配置并上传 a.com 的证书