分享一个支持https的CDN及启用SSL后续问题汇总

之前张戈博客全站启用了https,并分享了相关经验心得。用了一段时间,问题还是不少,所以继续整上一篇文章,汇总一下网站启用https之后出现的问题以及解决办法。

在分享这些问题之前,我先分享一个国内支持https的CDN,让个人博客也能无忧启用https,而不暴露真实IP。

我现在用的是腾讯云内测的支持https的CDN,其他人也就暂时用不了。本以为国内基本就没有其他支持https的CDN了,结果晓庄等几个博主留言分享了一个支持https的CDN——VeryCloud。

周末抽空了解并试用了下,发现真不错!而且还有每月免费50G的额度,一般个人博客基本够用了。

分享一个支持https的CDN及启用SSL后续问题汇总

一、云端CDN

①、注册开通

首先,我们在VeryCloud注册帐号并开通云分发:https://www.verycloud.cn/

②、添加证书

我们是冲着https去的,所以第一件事我们先要申请一个免费的SSL证书!当然,张戈博客之前也分享过沃通的免费证书申请地址,所以有需要的朋友先前往申请下:

分享一个免费SSL证书申请网站,给网站开启https协议

Ps:沃通免费证书最近又开放了2年多域名版本,申请时建议把主域名二级域名啥的一并申请到一个证书里(一次最多6个,含www主域)。

现在沃通申请证书基本可以站立得,所以我们可以立马下载到证书包。

解压,取得其中for Nginx的证书,然后在云分发控制台的【证书管理】中新建证书:分享一个支持https的CDN及启用SSL后续问题汇总

如图,输入一个自定义能识别的名称,然后依次上传crt和key文件,并确定即可!CA机构证书的话,免费证书是没有了,至少沃通免费证书绝没有。。。所以忽略吧!

③、添加网站

注册并登陆VeryCloud云端网络之后,启用云分发,并前往云分发控制台的频道管理界面添加新域名

因为我们的目的是要在开启https之后保护IP不泄露,所以我们必须把所有要展示的域名都加进去,比如博客主域名:

分享一个支持https的CDN及启用SSL后续问题汇总

如图,基本只要按中文提示填写即可,其中如果源站没有开启强制https那么可以填写80,而源站要是开启了http强制跳转https的话,那就必须填写443端口,否则CDN会经常异常!

我博客主域名开启了强制https,所以我填写了443端口,二级静态域名没有开启,所以我填写80,区别是填写80能略微降低CDN抓取源站造成的压力。毕竟http还是比https略微费服务器一点!

下面的探测URL就随便填写一个网站存在的地址吧,比如我填写的是ico图标地址。

继续下一步,是设置缓存:

分享一个支持https的CDN及启用SSL后续问题汇总这个可以参考一下张戈博客之前的文章:

如何正确配置CDN高速缓存,避免越用越慢的尴尬

特别注意的是,其中有个静态页面,指的是html、htm和shtml这类页面,一般博客都做了伪静态,所以如果不需要缓存html伪静态页面,请使用自定义或遵循源站,自定义则需要去掉html等后缀。

再下一步则是最关键的https设置了!

备份源站一般博客应该没有,直接忽略,勾选启用SSL加速,开启https:

分享一个支持https的CDN及启用SSL后续问题汇总

接下来的回源方式就和前文提到的80和443的选择异曲同工了,还是一样的道理,如果源站有强制https,那么就必须选择HTTPS协议回源才行!

强制https访问,这是腾讯云CDN都没有的功能,云端提供了!本来我还更高兴的!结果发现这个强制https跳转居然是返回302状态,感觉不是很符合百度推荐的301永久跳转,我个人最后是在源站设置了301跳转。

SSL证书这一项就是选择我们前面新建的那个SSL证书了,无需赘述。

分享一个支持https的CDN及启用SSL后续问题汇总

再往后,基本就不用多说了,自己折腾吧!

二、经验分享

国内免费CDN一般都限制在每月50GB流量,一般博客是够用了。但是发展到一定阶段,50G流量肯定是不够的,比如张戈博客一个月至少上100G的CDN流量,几十块的预算还是要的。

那有没有办法节省一点呢?

这里分享的方法,只适合有多个CDN服务的朋友。比如,张戈博客同时在用腾讯云CDN和云端CDN,我将电信线路解析到了腾讯云CDN,而将默认线路给了云端CDN。

因为腾讯云CDN目前我还有个100G的流量包,先用完再说。

简单来说,就是使用线路分摊的办法来解决这50G不够用的尴尬。当然,如果你只是看到了这篇文章介绍的云端CDN,那就只能等以后慢慢发掘了。。。

三、问题汇总

博客开启https这段时间,着实遇到不少问题,所以下面简单分享一些经验技巧。

①、支持https的视频

我博客之前是有一些在线MV的,开启https之后全部都废了,原因大家也都清楚,https里面的http资源会被浏览器拦截,所以必须要使用https的视频地址才行!

本来我也就懒得维护那些在线MV了,不过偶然在腾讯内部博客平台看到有人问到了腾讯视频是否支持https,正好有相关产品经理回答了这个问题,也给出了解决方法。

很简单,先找到腾讯视频的ID:

分享一个支持https的CDN及启用SSL后续问题汇总

然后使用如下地址即可实现https访问视频了:

https://v.qq.com/iframe/player.html?vid=f0019nr9cdd

②、百度提交https

百度在提倡https之后,站长平台已经支持提交https站点了!

进入百度站长平台,然后删除之前的域名,再添加该域名的https站点即可:

分享一个支持https的CDN及启用SSL后续问题汇总

Ps:不过坑的是,站长平台貌似对https支持不太友好,改成 https之后各种数据都停滞不动了。。

③、微信公众号

微信公众号暂时不支持https,而源站又全站强制开启了https,所以导致公众号也无法提供自动回复功能了!解决办法也很简单:

方法 I:新增一个域名,使用http即可,root路径和主域名一致即可;

方法II:针对POST方法,取消强制https规则即可

Nginx可以这样配置:

将之前强制https跳转规则改成如下即可:

④、CDN公共库

支持https的CDN都有免费额度限制,所以能托管到第三方的尽量托管,能省则省。

比如,我博客用的是1.8.2版本的JQery,以下则是我搜集的一些支持https的JQ公共库地址:

新浪云:https://lib.sinaapp.com/js/jquery/1.8.2/jquery.min.js  (速度不错,博客在用)

百度扒来的:https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/js/lib/jquery-1.10.2_d88366fd.js

貌似是ASP官方的:https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.2.min.js

JQ官方的:https://code.jquery.com/jquery-1.8.2.min.js

下面的同样支持https,非常不错:

Bootstrap官方CDN公共库:http://www.bootcdn.cn/

又拍云CDN公共库:http://jscdn.upai.com/

⑤、http被缓存

这个问题是我在用腾讯CDN的时候出现的,原因是因为腾讯云CDN不支持设置强制https跳转,而且还会缓存http站点,导致访问博客http地址也不会遵循源站的强制https跳转了!

要彻底解决这个问题只能等更新CDN机制了。当然, 如果设置CDN不缓存应该也是可以的。

我们暂时可以利用JS来解决这个问题,将如下js代码加入到header即可:

好了,以上就是本文分享的所有内容,希望对各位有所帮助!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:43   其中:访客  34   博主  9

  1. 晓庄 4 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 9_0_2 like Mac OS X) AppleWebKit 广东省深圳市 电信

    抢沙发前来支持。

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      :mrgreen: 这速度杠杠的

      • 晓庄 4 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 9_0_2 like Mac OS X) AppleWebKit 广东省深圳市 电信

        哈哈,刚刚再刷新微博。就马上点击进来了

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

          微博自动同步歇菜了很久了,刚手动分享了一遍,看了我的微博还是有点人气的。。 :lol:

          • 晓庄 4 来自天朝的朋友 谷歌浏览器 Windows 8.1 广东省深圳市 电信

            :lol: 要的要的。能学到东西的文章要看~

  2. osblog 2 来自天朝的朋友 谷歌浏览器 Windows 7 山西省太原市 联通

    真不错啊

  3. aunsen 4 来自天朝的朋友 火狐浏览器 Windows 10 陕西省安康市 联通

    看到https这么蛋疼,我就不上了 :arrow:

    • 电影天堂 0 来自天朝的朋友 谷歌浏览器 Windows 7 北京市 北京电信互联网数据中心

      同上~~ :evil:
      看到https这么蛋疼

  4. Andrew 1 来自天朝的朋友 谷歌浏览器 Windows 10 陕西省西安市 电信

    https看来是潮流

  5. Sven 2 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_2 日本

    百度对SSL绝对是坑呀,之前给百度重定向到SSL效果不好,后来还是强制到HTTP的页面。

    • 黑苹果乐园 3 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_2 湖南省益阳市 电信

      强制到ssl后发现百度连TM抓取都抓取不到,百度就是*B中的战斗机,坑!

      • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_2 广东省深圳市 电信

        百度收录自己的都是http,这真是打脸。

        • 黑苹果乐园 3 这家伙可能用了美佬的代理 谷歌浏览器 Mac OS X 10_11_2 美国

          是啊,吹牛逼跟上好几个,现在对百度定义就是TM一个大网站而已,一个这么大得公司做这点事情,哎,净忽悠这些站长了,啥办法啊,国内就这一条路子。

  6. gamexg 0 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 美国 纽约州纽约市Digital Ocean股份有限公司

    测试过 winXP 系统吗?
    看楼主证书是独立的,那么应该 winXP 下全IE都无法访问https页面。
    正在考虑sni的问题,查资料发现12月winXP占有率还达到了34%…

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_2 广东省深圳市 电信

      不会吧,还有34%,这不科学。
      用XP的估计是政府或国企等传统办公环境,和我博客撘不上边。

  7. 猫客工作室 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广西北海市 电信

    祝福博主跨年快乐,希望可以回访!

  8. 番茄 2 来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 迅雷离线服务器

    HTTPS折腾起来是一项浩大的工程。哈哈

  9. 郑州众源 1 来自天朝的朋友 谷歌浏览器 Windows 7 河南省郑州市 电信

    不得不说博主扒的真深

  10. 好书网 4 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    支持一下

  11. 郑州SEO优化 1 来自天朝的朋友 谷歌浏览器 Windows 7 河南省郑州市 联通

    博主的Google申请成功了,不错

  12. 包子 3 来自天朝的朋友 火狐浏览器 Windows 10 四川省成都市 (新都区/成华区)

    博主,我申请的谷歌联盟广告刚挂上显示过了一会就不显示,是怎么回事呀? :cry: :cry: :cry: :cry:

  13. yangbaicai 0 来自天朝的朋友 谷歌浏览器 Windows 7 山东省济南市 电信

    有个问题请教下博主: 博主博客的 wp-content 目录单独设置在 二级域名是如何做的,我用 wp super cache 的 cdn 功能好像有些问题

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      就是cdn的域名,回源到主域名即可,服务器无需设置。

  14. IMwenlu 2 来自天朝的朋友 搜狗浏览器 Windows 7 湖南省益阳市 电信

    对于一个小博客来说,想要SSL,只有选择既便宜又有独立IP的香港虚机了

  15. IMwenlu 2 来自天朝的朋友 搜狗浏览器 Windows 7 天津市 电信IDC机房

    一定需要备案才能使用吗?

  16. 小超 4 来自天朝的朋友 谷歌浏览器 Windows 7 海南省海口市 电信

    张戈博主,我想问一下,你是怎么添加http的站外友情链接的?那个安全锁还是绿色的,这个有一点好奇,待解决

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

      不加载的http链接都不会影响https。
      友情链接只是一个描文本,并不会加载资源。

      • 小超 4 来自天朝的朋友 谷歌浏览器 Windows 7 海南省 电信

        有点不明白,你的首页的友情链接,点击都是加载的呀

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

          难道你的有问题?地址发我看看。

          • 小超 4 来自天朝的朋友 谷歌浏览器 Windows 7 海南省 电信

            最近吃大餐去了,回复晚了,请见谅,https://www.xiaochao.me,成功了,不过有一个疑问,https的百度推送,你是怎么解决的呀?好像他不支持https的吧?期待博主回复

            • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

              除了JS推送不支持https,他的插件还是支持的。看下这篇:https://zhangge.net/5084.html

              • 小超 4 来自天朝的朋友 谷歌浏览器 Windows 7 海南省 电信

                好的,谢谢博主

  17. 蔓舞寻樱 0 来自天朝的朋友 Safari浏览器 iPad OS 9_2_1 like Mac OS X) AppleWebKit 云南省昆明市 联通

    博主,你的源站301是怎么弄的?窝现在也想用这家的cdn,但看到302这里有点不爽~

  18. 2222 1 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省长沙市 电信

    22222222222222签到成功!签到时间:下午3:03:14 :sad: ,每日签到,生活更精彩哦~

  19. 2222 1 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省长沙市 电信

    写代码

  20. 园子大魔王 2 来自天朝的朋友 谷歌浏览器 Ubuntu Linux 广东省深圳市 电信

    VC是要备案的

  21. 枫木 1 来自天朝的朋友 谷歌浏览器 Mac OS X 10_12_0 上海市 电信

    博主你好,
    我网站上了https+腾讯云cdn,cdn要求源站地址和加速域名不能一样,我网站服务器配置域名是https,配置的时候无法作为源站使用,填入了服务器ip做源站。
    然后我用https回源,目前看到腾讯新给我一个证书,访问正常,回源的时候,不知道cdn->ip源站,还是到cdn->我nginx配置的https网站呢,怎么才算是cdn配置正确的?

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省东莞市 电信IDC机房

      腾讯云CDN会默认带上host回源,所以你填写IP是没问题的,但是必须选择https回源, 因为你源站应该是做了强制https跳转。可以参考下我之前的分享:http://zhangge.net/5074.html

      • 枫木 1 来自天朝的朋友 谷歌浏览器 Mac OS X 10_12_0 上海市 电信

        好的,谢谢

  22. 烧香 0 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省温州市 电信

    老大为何是使用verycloud的CDN以后访问网站的时候偶尔会跳转到源IP地址 多刷新几次又会恢复?

  23. 菊部 5 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_3 湖北省武汉市 电信

    感谢分享

  24. CC 1 来自天朝的朋友 火狐浏览器 Windows 7 湖北省仙桃市 电信

    站点上已强制www。a.com 跳转到a.com http跳转到https 如果要加速SSL 是不是 要添加2个云分发 一个带www 一个不带WWW 的
    还是只添加一个云分发就行了?
    签到成功!签到时间:下午7:37:10,每日签到,生活更精彩哦~

  25. 黑苹果 3 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 11_0_1 like Mac OS X 江苏省苏州市 联通

    请问张大神!全站改版https以后百度自动(实时)推送还管用不?为什么我全站改版https以后!百度自动(实时)推送不管用了?l

加载中,请稍候...