2017年是一个https加密时代,最新的chrome浏览器,任何没有https协议的表单页面都会被标记为不安全。https不仅能反劫持运营商的广告,并且还能让你的网址多一个s(逃)。

如果你是VPS或者独立IP或者主机面板有导入SSL证书的选项,那么给博客添加SSL都会有大把的教程帮助你快速搞定。

但是如果你的主机和我一样,是共享IP的渣渣虚拟主机,主机商又不提供SSL证书安装服务,那只能通过CDN在传输过程中全站HTTPS,这种方式更简单。

以下介绍的就是使用又拍云的CDN服务配置全站HTTPS。

注1:又拍云有一个[又拍云联盟]的站长扶持计划,只要在博客页脚加上upyun的logo,通过审核后,每个月有免费的15G流量和10G存储空间,对于我们这种个人博客基本够了。

注2:除了国内的又拍云还有国外的cloudlfare同样支持免费CDN服务,我以前用过一次,效果不是很理想。


首先进入又拍云首页,点击控制台,好了进入到了管理界面了。

滑动到页面最底部,有一栏叫做[又拍云服务],下面有一个栏目叫[全网加速服务],对,没有看错,就是这个栏目,点击[立即创建]。好了,进入好正题了。

这个页面分为三栏目:

  • 创建服务
  • 回源配置
  • 为服务授权(操作员)

第三项不用考虑,可以直接跳过!(第三项不用考虑,可以直接跳过!

创建服务

又拍云和七牛的后台管理不一样,使用前,使用任何服务,都需要先创建一个服务项目。以我为例,名称为:ihewro。

源站类型:当然填写自主源了。源站指的就是我们主机上的数据。

加速域名:当然是自己博客的域名:www.ihewro.com。前提是要备案,

回源配置

回源是什么回事呢?其实也很好理解。使用了CDN服务后,用户访问你的博客是这样的一个过程:

  1. 用户输入域名地址
  2. DNS服务器解析得到又拍云的CDN的CNAME记录
  3. 根据用户地理位置 对CNAME记录继续解析获取距离最近的缓存服务器的IP地址,浏览器向缓存服务器发出请求
  4. 缓存服务器根据浏览器提供的域名,通过Cache内部专用DNS 解析得到真正主机的IP地址。缓存服务器向真实主机IP地址发起请求
  5. 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

看了上面对CDN过程是不是有了很明确的概念了,什么?根本没看懂?好吧,简单来说的过程是这样:

输入域名——解析出 CNAME记录(CDN服务商提供的)——解析出地理位置最近的缓存服务器的IP地址——解析出真实主机的IP地址(主机商提供的)——向主机发起数据请求——得到数据并且存储到缓存服务器上——over!

所以呢,CDN的关键就是通过CDN服务商提供的CNAME记录,使用户每次请求都是访问距离最近的缓存服务器,缓存服务器如果已经有数据了,直接返回数据。如果缓存服务商没有请求的数据,就继续向真实主机发起数据请求。而向真实主机请求数据的过程就是回源的过程。


如果你还是很模糊,也没关系,上面那些都不重要!重要的是下面:

第一项是填写[回源 Host],可以不填,那就不填!其实就是上面的第四步中的浏览器提供的域名

第二项是回源协议,一般共享IP地址的主机不能自主上传SSL证书的,如果强行以https访问,则会自动跳转到主机商设定的固定页面(我的主机就是这样),所以只能选HTTP,不影响后面配置全站HTTPS。(这项之后也可以修改的)

第三项是线路配置,就是回源配置。回源地址是什么意思呢?就是CDN通过回源地址来获取你的真实主机上面的内容。

回源地址分为:源站IP源站地址两种。源站IP就是你主机的真实IP。一般主机商提供了A记录就是源站IP地址,直接填上IP地址即可!后面不需要改。

如果回源地址填写的是域名地址,这个域名地址不能和加速域名相同,虽然这个域名叫做源站域名,其实可以理解为通过解析这个域名来获得源站IP的域名。这个[源站]非你想的那个[源站]。


更换DNS解析记录

如果上面CDN原理弄清楚了,会发现DNS解析记录必须更改为CDN服务商的提供的CNAME记录。这个记录在哪呢?点开 控制台——服务 可以看见你刚才新建的那个服务名称。点击配置,再点击解析,就可以看到CNAME记录。去你的域名解析管理那儿把你的域名CNAME记录指导这儿就行了!

到这儿,全站CDN基本上大功告成了,可以用奇云测测试你的网站,可以看到有很多个节点!接下来就是配置全站HTTPS,后面就很简单了。

配置全站HTTPS

在该服务下,有一个HTTPS的栏目,点击管理,就可以自主申请免费HTTPS证书,流程都有说明了,不再赘述。

申购是自动流程化,一般一个小时之内就能审核成功,然后在工具箱——SSL证书服务上面,点击HTTPS配置,就可以选择强制HTTPS访问了。

最后一丁点

文中图片如果是http资源一定要改成https地址,通过数据库的SQL语句,先进入到该表下,然后执行:

UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) 

举个栗子,替换文章内容页面的http链接,就是这样:

UPDATE typecho_contents SET text= REPLACE( text, 'http://', 'https://' ); 

注:text就是文章的内容的字段名称。

文中内容为个人总结,CND原理部分参考:

CDN工作原理
CDN的原理以及其中的一些技术

如有知识性错误,欢迎拍砖指出。

相关文章:多说适配HTTPS

完~

最后修改:2017 年 02 月 19 日
喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。