说说我的网站升级 https、及图床搬家历程

2016-12-09 00:00:33 +08:00
 quietjosen

二话不说先上图:

是的,升级完之后得到的就上面几把小绿锁。当然,只是几个小站,如果看官误解为大站的 https 架构升级,抱歉了…

有必要这么折腾吗?

先说 2 则消息提提神:

可见全站 HTTPS 化是大势所趋。就算是小博客、小网站,也不想被拍为「不安全」吧。于是,在 2016 年的尾巴时,折腾了一把。

Https 证书

其实,更应该说「免费」的 Https 证书更合适。因为付费的证书其实很多,而我等小博主,还是用用免费的好了。可能大家都知道,目前最有名的免费证书就是 Let's Encrypt 了(另外一个免费、但有黑历史的我就不说了)

可以使用 Certbot 来自动更新 Let's Encrypt 证书,服务器端我用的是 Ubuntu ,直接照着官网教程就可以生成证书了:https://certbot.eff.org/#ubuntuxenial-nginx

有了证书之后,就是如何应用到网站中,这个就要看大家具体是如何搭建、托管博客的。我是用的 Nginx ,照着这里的步骤就可以了:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04

有了上面这 2 步,就完成 https 升级本身的在部分事情了。可能你并不知道, https 和 https 也是不同的,主要是安全级别上不一样。具体的,可以到一些测试网站上查查自己的 https 是什么级别,比如 https://www.ssllabs.com/ssltest/analyze.html 我的小站是 A-,虽然可以再加把劲升级到 A+,想想 2/8 原则也就算了。

Https 与小绿锁

做了上面的事后,浏览器中并不一定会显示可爱的小绿锁。为什么?因为网站可以还引用了别的 http 资源,比如 js 、 css 、图片、等等。必须全站资源均是 https ,才会在浏览器地址显示小绿锁。

图床搬家

好了,来到迁移最麻烦的部分:图床搬家。因为自己的博客已经有好几年了,搬家 N 次,还由 WordPress 迁移至 Markdown (Hexo 引擎 + Next 主题),其中混杂着又拍云、新浪微博图床、七牛、一般图片、等各种来源的图片,想把这些图片全找出来、重新上传至支持 https 的图床、更新文档中的链接,还是挺绝望的。

不管怎样,已经搞定了,来回顾下我的方案吧。

图床选择

国内

国内选的是 七牛

另外一个强劲的候选是阿里云 OSS ,因为我总是觉得阿里云 OSS 比七牛快(之前的一些感性经验,并无实测数据,况且这和网络情况严重相关,在你那快、而你的用户不一定快,很难有权威的测试数据)

最后选择七牛最大的原因是:,也就是价格。阿里云 OSS 的流量价格大概是七牛的 2 倍,即使买流量包也比七牛稍贵些。具体的,大家可以看下面的官网链接:

需要说明的是,七牛有所谓的免费流量,但这免费流量只适用于 http 流量、不适用于 https 流量,算是个小坑 + 鸡贼吧。

确定图床后,就在七牛上新创建了资源。并没有使用自己域名的 https 链接,因为没有备案(备案好可怕…),直接使用了七牛的 https 二级链接,如 https://xxxx.qnssl.com

国外

国外选的是 Flickr

存储方面, Flickr 有 1T 空间,绝对够用了。

速度方面,之前在 http://www.17ce.com/ 上测试了下,即使是在国内, Flickr 的访问速度尚可、比 Imgur 快;国外应该也没问题。

于是,也就懒得再去用 Amazon S3 之类的专业图床,直接定 Flickr 了,并且链接还是支持 https 的。

统一图片链接

这有什么说的呢?

主要是为可能的再次搬家埋伏笔。如果直接使用七牛的二级链接( 如 https://xxx.qnss.com ),那么下次如果需要搬家,就要把之前文档中的链接全部更新,或者使用 Nginx 相关的代理、跳转机制,总是有些麻烦,所以用了一个自己的域名进行跳转。

方法就是,先确定一个固定的图片域名: https://p.ilib.io 然后将其重定向至 https://xxxx.qnss.com 具体的,就是在 Nginx 中配置:

rewrite ^/cn/(.*)$ https://xxx.qnssl.com/$1;

这样,访问如 https://p.ilib.io/cn/abc.jpg 时,会重定向至 https://xxx.qnssl.com/abc.jpg

好处是:

坏处是:

已有图片搬家

新图床确定了,接下来就是要把已有的 Markdown 文件中的图片迁移至新图床。

这事怎么办呢?

为了这事,我专门做了个 App: iPic Mover,可以选择 Markdown 所在目录,一键迁移 Markdown 中所有图片至新图床,具体看图:

iPic Mover 更多介绍

插入新图片

到这里, https 证书配置好了、已有图片也搬家了,已经可以看到可爱的小绿锁了。那么,之后新的图片,该怎么插入到 Markdown 文件中呢?毕竟上面说了,又是七牛、又是 Flickr 的,直接插图还是挺麻烦的。

还好,有了 iPic,可以一键上传图片至图床、生成 Markdown 链接。

晒晒我的图床吧(有些是测试用):

尾巴

说说博客吧。

折腾这么多,就为了小绿锁,值吗?尤其,现在还有人写博客吗?还需要专门搞个图床搬家的工具吗?

诚然,现在是快消费时代,大家的注意力是涣散的,看个搞笑视频都要快进,更别说读长文,更更别说写长文了,更更更别说为文章配个合适的图。

但,反过来说,大家对信息的渴求是一贯的,在网上搜索信息,都想能最快的得到权威的、组织优良的答案。尤其是程序员这个行当,简直是面向 Google 编程。而很多 Google 给出的答案,都是一些优秀的博客。

所以,我相信博客依然会有其一席之地;而写博客的人,值得被尊重、被关注,值得拥有趁手的工具。

7604 次点击
所在节点    SSL
40 条回复
quietjosen
2016-12-09 09:19:10 +08:00
@hqfzone 我也发现会慢点,先这么着,看一段时间,试过 URL 显式跳转再说。
guoer
2016-12-09 10:11:29 +08:00
为啥不用 cname
serve99
2016-12-09 10:17:07 +08:00
@quietjosen 你用的这 https 的 Let's Encrypt ,真会是永久免费的吗?其他好多 https 好像都只是 1 年,然后每年的费用都很高。。。不知你这个是不是真的一直免费。
quietjosen
2016-12-09 10:26:56 +08:00
@guoer 可耻的没备案……
quietjosen
2016-12-09 10:29:19 +08:00
@serve99 哦,我以为大家都知道这个梗就没说……

Let's Encrypt 证书一次 90 天,使用 Cerbot 可以定期更新,结果就是一直免费了。
guoer
2016-12-09 11:26:44 +08:00
@quietjosen cname 不需要备案吧
quietjosen
2016-12-09 11:33:56 +08:00
@guoer 我是说,如果要 cname 到七牛,七牛需要我的域名备案。
Delbert
2016-12-09 12:28:23 +08:00
不是端口问题,是证书。只要有证书的都过不去。
stneng
2016-12-09 12:51:35 +08:00
建议把 css js 也用上 cdn ,可以快一些。
另:个人感觉七牛容易抽风,我前几天抽了,慢得要死,换成又拍了。。。(仅个人感觉)
stneng
2016-12-09 12:53:53 +08:00
@stneng 另外,又拍的 https 请求费用有点小贵,我请求费比流量费还高。。。(幸好我站小,没几个访问量)
quietjosen
2016-12-09 14:27:57 +08:00
@stneng 恩,我也是小站,要求没那么高;坦白讲,还是比较在意「成本」的。

如果真觉得抽,可以弄个监控(比如 360 监控),每 10 分钟测试一次,出问题就短信报警。这样监控一段时间,看是否稳定。
stneng
2016-12-09 14:50:48 +08:00
@quietjosen 抽了不是指打不开,是很慢而已。。。(能快一点是一点吧。。。)
成本如果是小站的话,用哪儿的都差不多吧。反正流量不大。。。
quietjosen
2016-12-09 14:53:41 +08:00
@stneng 确定,成本可以是 10 块 和 20 块 的差别,绝对量并不大。

对我来说,七牛的稳定性,配我的小站,够了。因为木桶原因,最缺的并不是速度、稳定性,而是小站的内容、能给用户带来的价值。当然,我也想让小站飞起…
quietjosen
2016-12-09 14:54:11 +08:00
@stneng 打错字了,「确实,成本可能是 10 块 和 20 块 的差别」
stneng
2016-12-09 14:56:30 +08:00
@quietjosen 是啊,感觉您的站量不小吧, iPic 挺有名的。
另:我貌似 A+了。。。(逃
stneng
2016-12-09 15:03:45 +08:00
@quietjosen 刚看到 WP 的迁移还没解决,给个建议,其实我感觉迁移图床可以有更好的方案。
我目前都是将图片直接上传到站点,然后各种云储存都有镜像迁移的功能,直接镜像迁移就好了,切换根本没有烦恼。。。
quietjosen
2016-12-09 16:48:48 +08:00
@stneng iPic 只是在小圈子里有点知名而已…

我这边主要是有历史包袱:在各种图床的旧图。如果一开始就像你说的,所有图都在一个地方,搬起家来确实方便。不过,现在已经在一个地方了,现在就可以按你的方式做了。
KanVivii
2016-12-20 11:56:09 +08:00
看到说 oss 比七牛快 但是我发现 oss 没有写自带 CDN 呀 可是七牛写了带 CDN

oss 和七牛还有腾讯的 一直很纠结到底用哪个
quietjosen
2016-12-20 16:56:16 +08:00
@KanVivii 哎,文中也说了,只是感性数据,而且跟我这的网络环境有关。

纠不纠结的,试试呗。
KanVivii
2016-12-20 21:06:13 +08:00
@quietjosen 因为人在国外所以才觉得七牛貌似快
v2ex 的图库速度也不错的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/326305

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX