一、背景

本站之前一直放在阿里云服务器上面,但是用站长工具测试的时候发现,部分地区的访问速度一直不太满意,甚至可能出现无法访问的问题。应该是跨运营商网络不稳定导致的。
所以后来采用了智能DNS、云加速之类的免费产品,包括知道创宇的加速乐、cloudflare、百度云加速、七牛云等。免费CDN对网站的访问速度的确起到了作用,站长工具测试的时候是一片的绿色。


后来,打算重新把网站做一下,并且上了https。刚开始一直是阿里云的默认DNS解析而没有采用其它DNS服务和CDN,网站一直正常访问。当然了,部分地区和线路访问速度的确不太给力。包括本人用手机移动网络测试也不太给力。
于是,就考虑把DNS迁移到百度云加速上面,加上他家有所谓的百度SEO优化,好像挺吸引的。
然后悲剧就来了,改完之后站就挂了,用浏览器访问显示站点错误。万分无奈之下只好又把dns回迁到阿里云解析上面去。

二、分析

  1. 百度云加速、加速乐、360加速之类的DNS服务,采用的加速都是CDN。如果关闭加速功能,也就是关闭CDN,网站是正常访问的。这时候,其实和阿里云解析没啥太大区别。
  2. 一旦开启加速之后,网站访问的时候就会去CDN那里获取内容。对于没有开启https的网站来说,这些免费CDN带来的加速效果是很明显的。
  3. 一旦网站全站强制开启https后,由于CDN服务器那里并没有我们的https证书,就会被浏览器认为是网络劫持之类的不安全行为,拒绝访问。看起来就好像网站挂了一样。

三、解决办法

1. 关闭https



  • 先明确自己网站的定位,商业网站、或者对用户要求高的网站,启用https其实是很有必要的
  • 启用https会在浏览器界面上比人家多了一个绿色小图标,对于小白用户来说,这个绿色小图标就等价于信誉保障
  • 启用https可以避免运营商劫持而带来的广告注入
  • 对于一些没啥用户又不考虑盈利的个人网站或者个人博客来说,不启用http其实影响也不是很大

2. 用收费cdn

  • 这样子说的意思并不是收费的才好,而是目前的提供免费加速、免费cdn里面,好像没有支持https的。
  • cloudflare据说支持,感兴趣的可以看一下。但是cloudflare目前来说在国内的效果好像挺差,所以本人没有使用
  • 收费cdn或者收费的网站加速,除了提供https的服务外,还提供https证书上传。例如百度云加速、七牛云之类的。七牛的10G免费cdn流量是不支持https的。
  • 证书上传和同步也是个麻烦问题。因为源站和加速站必须要使用相同的证书,但是目前来说,还没有找到有服务商支持api更新证书的,那就意味着要定期自动去更新证书。如果有几十个站的站长,倒是个麻烦的问题。
  • 另外,对于商业用户来说,把自己的证书上传到cdn,也可能会导致安全问题,对于小站来说倒不是什么问题。

3. 自建cdn



  • 所谓的自建cdn并不一定要像商业cdn一样,要根据不同的线路、不同省份、不同国家、不同搜索引擎部署很多不同的加速节点。
  • 也可以根据自身的实际情况去部署。例如部署移动、联通、电信、教育网、海外五个节点,采用智能DNS来做负载均衡,把不同的用户解析到不同的服务器上。这样子也可以起到不错的CDN加速效果。
  • 自建CND的证书可以在源站或者主站上,用let s encrypt 进行自动更新,然后每次更新就用脚本自动更新到另外的cdn服务器上面去。
  • 自建主要是涉及到服务器搭建的问题。用nginx可以满足大部分的需求。具体可以参考我的另外一篇文章,这里就不详述了。

四、后记

关于本文所谈及的问题,如果有任何疑问,欢迎在评论区留言。本人看到会及时回复。
如果有其它问题,也可以扫描屏幕下方二维码,在公众号后台给我留言。



http://xzh.i3geek.com

爱唠叨的老鱼

爱唠叨的老鱼

技术经理,个人站长,创业者

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据