0%

腾讯云使用cos静态网页发布hexo到自有域名并开启cdn加速踩坑记录

前言

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 的证书
cdn控制台https证书设置