上篇文章 HTTPS泛域名证书申请之二-Nginx配置 说道,要让我的博客 https://www.itfanr.cc
用上全站的HTTPS安全模式,必须解决七牛云图片链接http的问题。
而七牛云官方推荐的https方案,费用比价高。那有没有什么免费的方法呢?答案就是通过 自定义域名
来设置。
也就是域名我们自定义,证书使用之前设置的泛域名证书,那么问题就搞定了。
在七牛云中添加自定义域名 在个人的 “存储空间” 设置菜单中选择 “绑定域名” ,域名类型中选择 “普通域名” 即可。
在 “加速域名” 处设置一个自定义的域名,比如我设置的是 qiniu.itfanr.cc
。
“通信协议” 选择 HTTPS
方式。
由于要为自定义域名添加证书文件,而之前也没有添加过,所以这里选择 “SSL 证书管理” 来设置。
在 “SSL证书服务 > 证书管理” 界面中,选择 “上传自有证书” 来添加之前申请到的证书文件。
设置完成后,等待七牛云处理。
处理完成后,会给出如下提示:
在阿里云设置域名CNAME 七牛云自定义域名添加成功后,还要添加域名的解析。也就是需要在域名服务商处添加一条 CNAME
记录。
以下是我在阿里云中添加的配置:
稍等片刻,等待生效。
设置七牛云图片外链默认域名 域名解析成功后,还要在七牛云中添加图片的默认域名。
打开七牛云 “存储空间” 设置,在 “内容管理” 中的 “外链默认域名” 处选择刚刚添加的 自定义域名,之后 “保存默认域名” 即可。
选择一张图片,通过自定义域名访问:
可以看到,已经能正常支持https了。
图片优化 一般直接截图或者上传本地的图片到七牛云后,通过链接直接访问,图片体积都会很大,加载时间也会很长。
而七牛云中也有相关的图片优化设置。打开 “存储空间设置” – “图片样式” 选项,在这里可以添加自定义的图片优化方案。
在 “样式分隔符设置” 中,可以设置分隔符。
那么,添加上图片优化的链接就如下:我的图片样式定义为blog
,分隔符为 -
1 https://qiniu.itfanr.cc/blog/170809/26B1D9j4eI.jpg-blog
替换Hexo博客中已有的图片链接 因为之前的文章中也有添加很多的七牛云图片链接,但都是http
的,想要一篇文章一篇文章的替换也很麻烦,所以我就写了一个Py脚本来做替换的事。
Py脚本主要内容如下:完整代码查看:Leafney/md-qiniu-imges-replace: markdown文件中七牛云图片链接替换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 def md_img_replace(md_file): """ 替换md文件中的图片链接 """ result=False post=md_read(md_file) matches = re.compile( '!\\[.*?\\]\\((.*?)\\)|<img.*?src=[\'\"](.*?)[\'\"].*?>').findall(post) if matches and len(matches)>0: # 该md文件中有图片 # 输出文件名称 print('文件:[{0}] 中含有图片'.format(md_file)) new_post=post for sub_match in matches: # 正则里包含或,所以这里sub_matth是元组 # print(sub_match) for match in sub_match: if match and len(match)>0: # 得到单张图片链接 print('找到图片链接:[{0}]'.format(match)) # 在这里遍历一遍后,发现我的文章中图片链接的特点主要有三种格式: """ https://cdn.jsdelivr.net/gh/leafney/blog-images@main/blog/20180924112100.png -- 已经符合要求的 http://ouej55gp9.bkt.clouddn.com/blog/20180920204113.png -- 只有旧版链接的 http://ouej55gp9.bkt.clouddn.com/blog/180116/B2c2Deah5B.png?imageslim -- 旧版链接带优化参数的 所以,下面的操作主要针对于上面的三种情况来处理 ***** 所以,这里要改成针对于你自己的文章图片链接来处理 ***** """ # print('----------------') # 判断图片域名是否为 http://ouej55gp9.bkt.clouddn.com/ 是的话,则替换为 https://qiniu.itfanr.cc if match.startswith('http://ouej55gp9.bkt.clouddn.com'): # 记录下替换前的链接 old_url=match new_url = match.replace( 'http://ouej55gp9.bkt.clouddn.com', 'https://qiniu.itfanr.cc') # print('step_1_new_url:[{0}]'.format(new_url)) # 判断是否以 ?imageslim 结尾 if not match.endswith('imageslim'): # 不是,在结尾添加 new_url += '?imageslim' print('step_2_new_url:[{0}]'.format(new_url)) # 替换 post 中的 old_url为 new_url,并将新内容写回文件 new_post = new_post.replace(old_url, new_url) result = True print('----------------') if result: # 将内容重新写回文件 # print(new_post) md_write(md_file,new_post) print('ok-修改成功') print('****************') return result
执行过程记录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 文件:[./_posts/https-certificate-two-of-nginx-settings.md] 中含有图片 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919001532.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919001532.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919180924.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919180924.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919171901.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919171901.png?imageslim] ---------------- 找到图片链接:[https://qiniu.itfanr.cc/blog/20180924000202.png?imageslim] ---------------- 找到图片链接:[https://qiniu.itfanr.cc/blog/20180924000229.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919165205.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919165205.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919170111.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919170111.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919173643.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919173643.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919180924.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919180924.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180919180907.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180919180907.png?imageslim] ---------------- ok-修改成功 **************** 文件:[./_posts/https-certificate-one-of-application.md] 中含有图片 找到图片链接:[https://qiniu.itfanr.cc/blog/20180921175821.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180918225700.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180918225700.png?imageslim] ---------------- 找到图片链接:[http://ouej55gp9.bkt.clouddn.com/blog/20180918232923.png] step_2_new_url:[https://qiniu.itfanr.cc/blog/20180918232923.png?imageslim] ---------------- ok-修改成功 ****************