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

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 首先在阿里云控制台申请一个免费SSL证书,我这里域名托管在阿里云的所以为了方便就在这里申请。

image.png

域名升级https

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

image.png

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

image.png

image.png

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

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

image.png

image.png

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

image.png

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

image.png

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

image.png

七牛云配置https

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

image.png

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

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

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

绑定好后,点击配置HTTPS,选择自有证书。
image.png
点击复制CNAME,在域名解析新增一条CNAME记录。
image.png
按这样配置好后,使用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就成功了!
image.png

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
2月前
|
网络安全
Discuz全站切换https,强制Discuz站点所有链接为https
Discuz全站切换https,强制Discuz站点所有链接为https
64 0
|
3月前
|
域名解析 网络协议 安全
【域名解析DNS专栏】DNS-over-TLS与DNS-over-HTTPS:安全升级新标准
【5月更文挑战第26天】随着网络技术的发展,DNS协议面临安全挑战,DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH) 作为解决方案出现,旨在通过加密增强隐私和安全。DoT使用TLS封装DNS查询,防止流量被窥探或篡改;DoH则利用HTTPS隐藏DNS查询。实施DoT需在客户端和服务器间建立TLS连接,DoH需DNS服务器支持HTTPS接口。这两种技术为网络安全提供支持,未来有望更广泛部署,提升网络环境的安全性。
198 0
|
3月前
|
安全 搜索推荐 前端开发
【https】如何让http升级成https
文章详细讲解了如何让HTTP到HTTPS的操作过程
150 0
【https】如何让http升级成https
|
10月前
|
Java 应用服务中间件 Linux
HTTPS && Tomcat && Servlet && 博客系统 && 软件测试的概念 && Linux
HTTPS && Tomcat && Servlet && 博客系统 && 软件测试的概念 && Linux
43 0
|
JSON Dubbo JavaScript
Dubbo Triple 协议重磅升级:支持通过 HTTP 连通 Web 与后端微服务
Dubbo Triple 协议重磅升级:支持通过 HTTP 连通 Web 与后端微服务
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
297 1
|
11月前
|
域名解析 负载均衡 JavaScript
升级 HTTP 至 HTTPS:使用 Nginx 反向代理
升级 HTTP 至 HTTPS:使用 Nginx 反向代理
261 0
|
JSON Dubbo JavaScript
Dubbo3 Triple 协议重磅升级:支持通过 HTTP 连通Web与后端微服务
阿里 [HSF2 框架已经完成到 Dubbo3 的全面升级](https://ata.atatech.org/articles/11000209827?spm=ata.25287382.0.0.26577536vUxJq6),阅读本文了解 Triple 协议工作原理。更多技术内容分享,请参见[官网博客](https://cn.dubbo.apache.org/zh-cn/blog/) ## 全新
371 0
Dubbo3 Triple 协议重磅升级:支持通过 HTTP 连通Web与后端微服务
|
前端开发
常见的 HTTP 状态码 + 猫图链接
常见的 HTTP 状态码 + 猫图链接
157 0
常见的 HTTP 状态码 + 猫图链接
|
PHP
php函数file_get_contents无法获取到https链接内容问题使用curl的解决方案
php函数file_get_contents无法获取到https链接内容问题使用curl的解决方案
134 0