博客全站升级https记录,七牛云链接处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客全站升级https记录,七牛云链接处理相关的知识,希望对你有一定的参考价值。


博客全站升级https记录,七牛云链接处理_七牛云

域名升级https

首先在阿里云控制台申请一个免费SSL证书,我这里域名托管在阿里云的所以为了方便就在这里申请,其实七牛云也可以申请证书。

博客全站升级https记录,七牛云链接处理_七牛云_02

原先的博客域名为​​blog.xxx.com​​​,但是我这里申请的证书是​​blog2.xxx.com​​,这是因为我原先还使用了腾讯云的cdn加速,所以原先的blog域名其实一条CNAME解析,需要另外配置证书。

博客全站升级https记录,七牛云链接处理_上传_03

博客全站升级https记录,七牛云链接处理_Hexo_04

之后是自动验证或根据提示手动验证DNS,配置完成后差不多几分钟审核完,下载对应证书,我这里用的是nginx,得到​​key​​​后缀与​​pem​​后缀的文件。

blog的https证书则在腾讯云申请:(如果没有CDN则直接申请​​blog​​域名的证书即可)

博客全站升级https记录,七牛云链接处理_七牛云_05

博客全站升级https记录,七牛云链接处理_nginx_06

将证书上传到服务器,然后配置下​​nginx.conf​​文件,我的是静态博客,直接使用nginx部署到端口8006,所以在443端口下的配置如下,配置好证书的路径,使用location proxy_pass代理到8006端口即可。保存,重启nginx应用配置。

博客全站升级https记录,七牛云链接处理_七牛云_07

在域名解析添加一条A记录,此时该https域名​​blog2.xxx.com​​就可以访问了

博客全站升级https记录,七牛云链接处理_nginx_08

然后进入到CDN内容分发,将主源站修改为刚才配置好的​​blog2.xxx.com​​,设置协议跟随,不用额外配置端口号。

博客全站升级https记录,七牛云链接处理_Hexo_09

七牛云配置https

博客可以访问了,但是我使用的图片资源还不能访问,需要对七牛云链接进行https升级,进入七牛云对应空间的域名管理位置,这里需要重新配置一个新域名来取代旧域名,而不是直接把CDN加速域名升级成https,因为升级CDN的域名流量会产生资费,对于个人来说开销还是蛮大的。

博客全站升级https记录,七牛云链接处理_nginx_10

注:之前尝试过在服务器使用Nginx代理来免费升级https的方案,但是太卡了,七牛的空间绑定域名功能应该是相似原理,但是快很多,这样都会失去CDN加速的效果,如果想保持CDN加速,那只能花钱了。

七牛云SSL申请证书非常慢而且填一堆资料很麻烦,建议自行申请证书上传:

  • 证书备注名:填写你的域名;
  • 证书内容:填写Nginx版本的 pem 文件内容;
  • 证书私钥:填写Nginx版本的 key 文件内容。

绑定好后,点击配置HTTPS,选择自有证书。

博客全站升级https记录,七牛云链接处理_Hexo_11

点击复制CNAME,在域名解析新增一条CNAME记录。

博客全站升级https记录,七牛云链接处理_Hexo_12

按这样配置好后,使用http协议的CDN加速资源也可以使用https的绑定资源来访问了,不会马上生效,要等十来分钟差不多。

批量更换链接

我使用的是博客系统是基于hexo的,全部文章路径在​​source/_posts​​​下,在根目录创建脚本文件​​qiNiuRename.js​​​,运行​​node qiNiuRename.js​​,提交发布,贴上一份代码供参考使用。

// qiNiuRename.js

var postSrc = source/_posts // 文章路径
var oldLink = http://xxx.com // 原链接
var replaceLink = https://new-xxx.com // 替换链接
function walkSync(currentDirPath, callback)
var fs = require(fs),
path = require(path)
fs.readdirSync(currentDirPath, withFileTypes: true ).forEach(function (dirent)
var filePath = path.join(currentDirPath, dirent.name)
if (dirent.isFile())
callback(filePath, dirent)
else if (dirent.isDirectory())
walkSync(filePath, callback)

)


walkSync(postSrc, function (filePath, stat)
var fs = require(fs),
path = require(path)

fs.readFile(path.join(__dirname, filePath), utf8, function (err, md)
if (md.indexOf(oldLink) != -1)
var newMd = md.replace(new RegExp(oldLink, gm), replaceLink)
fs.writeFile(path.join(__dirname, filePath), newMd, utf8, (err) =>
if (err) throw err
console.log(path.join(__dirname, filePath), 已修改)
)

)
)

至此,博客整站升级https就成功了!

博客全站升级https记录,七牛云链接处理_Hexo_13

以上是关于博客全站升级https记录,七牛云链接处理的主要内容,如果未能解决你的问题,请参考以下文章

七牛云创建存储空间并绑定自定义域名-https协议

如何基于七牛云存储+Markdown编辑器做静态博客

[博客更新]利用七牛云存储和 Verycloud CDN实现博客静态资源加速(HTTPS 访问)

免费的对象存储——七牛云还是腾讯云

PHP -- 七牛云 在线视频 获取某一帧作为封面图

七牛云的文件上传和下载