标签归档:CloudFlare

全面进入HTTPS加密时代

HTTPS SSL

新年来临,也有些新变化。在网站方面,我把我所有能换成HTTPS SSL的网站都迁移到了HTTPS SSL——包括我帮忙制作的英国湘味情中餐馆网站,全面加速进入到HTTPS加密时代。

本次升级为HTTPS主要借助于CloudFlare的免费HTTPS证书。由于这些网站也不再使用Media Temple的主机服务,于是改用了更为小众的戈戈主机,流量方面不再宽裕,安全性能方面也不得而知,于是也像土木坛子这个网站一样,启用了CloudFlare的CDN全球加速,再配合HTTPS+HSTS加密,HTTP/2功能也能启用。

因此,使用CloudFlare全球CDN后,可以最大限度提高网站的访问速度,并且节省源主机CSS, JS和图片等静态文件的流量,CloudFlare的反代理DNS能够隐藏源主机IP,进一步提高主机安全性。当然CloudFlare也不是没有缺点,CloudFlare免费CDN下面的HTTPS SSL证书不支持一些过时的浏览器。不过我觉得这些浏览器用户所占比例不大,没有必要迁就他们。

升级到HTTPS后,再到Google网站管理中心更新了一下,很快就收录了新的HTTPS链接。Google对HTTPS的支持力度实在是不一般。

值得记录的几件事情:DNSSEC, AdSense, Firefox

这两天有几件事情值得记录,分别如下。

开启域名DNSSEC功能

昨天收到CloudFlare的邮件,告知CloudFlare全面支持DNSSEC功能,即支持安全的DNS解析功能,可以防止网站域名解析被投毒。

作为一向支持拥抱新技术的博客网站,土木坛子第一时间就设置好托管在CloudFlare下所有域名的DNSSEC,设置方法很简单,CloudFlare有相应的参数介绍,具体也可以参考JUSTYY博主的贴子

至此,土木坛子这个表面看似简单的网站,底层几乎用上了所有目前我能接触到的高大上的技术与特征,自适应网页,域名隐私保护HTTPS SSL加密, 浏览器内嵌HSTS限制HTTPS, CloudFlare Pro CDN, 现在又加上DNSSEC(更新:2015年12月3日开始,CloudFlare全面免费支持HTTP/2协议,因此土木坛子现在也支持HTTP/2)。

全面撤下AdSense广告

土木坛子撤下Google AdSense广告有一段时间了,从今天开始,如无特殊情况,我会全面撤下我其它网站上的AdSense广告。

以前出于兴趣,投放的AdSense广告收到过一些收入,其中还有一部分捐给了我的小公益项目

可是,我发现Google的规则越来越严格,搞不清哪个地方就会碰到它的TOS条款,然后就收到Google的警告邮件,这大大限制我在网上写作的自由,现在全面撤下AdSense广告,图个自由清静——本来也没有多少广告收入。

体验Firefox iOS浏览器

从昨天开始,Mozilla推出了Firefox for iOS浏览器,第一时间我就安装了它,等待它太长时间了。虽然这些年Firefox PC浏览器不如Chrome,但Chrome毕竟不是开源浏览器,Firefox有它开源存在的意义。

现在,iPhone, iPad上也有了Firefox的版本,纵然内核依然是WebKit渲染引擎,但好歹有了正宗的Firefox浏览器。初期版本似乎UI还不错——目前也就只是一个壳,我不喜欢Chrome for iOS的笨重,当然也不喜欢它的UI——虽然比Safari要好一点点。

CDN升级成收费CloudFlare Pro套餐

Switzerland

从昨天开始,土木坛子启用CloudFlare的收费CDN服务Pro套餐,就当九周岁的一个礼物。

使用收费服务后,好处是可以使用收费的功能。移动设备优化,更快的DNS解析速度(英国只有8 ms)图片压缩加速,更勤快的缓存频率,共享IP的网站数量更少(以前免费账号下面同IP下面甚至有擦边球网站),HTTPS SSL证书支持更多浏览器型号——IE 7也支持了,大部分RSS订阅服务也恢复正常

应该说,CloudFlare的免费账号提供的功能其实已经够好。我只是觉得不付费,有点占人家便宜的感觉,因为我一直觉得“免费的东西经常是最贵的”,所以我之前在网站下面标注:感谢CloudFlare提供全球CDN加速。现在可以心安理得地去掉这行致谢了。交了保护费后,理论上服务总应该比免费好。

那之前为什么不加入收费套餐?原因是CloudFlare不太合理的收费制度,每个账号下面,第一个域名20美元一个月,第二个是5美元。于是,我忽悠中文博客界的土豪——赖博士加入,然后,我以第二个域名加入,那样就是5美元。

我本来就这么随便一说,没想到,他第二天就炫耀地跟我说,他三个网站都升级到收费的CloudFlare,并且还将我这个提议变成了商机,他说,谁想加入收费的CloudFlare,挂在他的账号下面,他收费10美元什么的,大家共赢……这精明的福建人,难怪成土豪,中文博客界的人生赢家。

结果,我就占了他便宜,也升级到CloudFlare收费的CDN,赖博士说:高大上。至少,在被ICDSoft踢出后,土木坛子也只能找CDN才能维持下去。

现在土木坛子在网站上每年的投入资金也不小,每个月20多美元的主机费,再加上域名、SSL证书费用,现在又用上收费的CDN。在我还有钱把它撑下去时,尽力撑下去。

赖博士说,为兴趣爱好花这点钱,比上红灯区嫖强多了,说得他好像干过那事似的……话糙理不糙,坚持写博客的男人都是好男人,那写博客的女人呢?至少能找到好男人吧。

CloudFlare CDN使用经验和技巧

Switzerland

以前用过国产的CDN(content delivery network, 内容分发网络),效果不佳,很长一段时间对CDN失去兴趣。后来用了Incapsula的CDN,也没有什么印象。最近用上CloudFlare的CDN,感觉还不错。和我同样用MT主机的佐仔最近也加入了CloudFlare的阵营,中文博客界VPS最高配置的赖博士更是把他中文英文网站都用上CloudFlare的CDN。

他们问我有哪些CloudFlare设置经验技巧?我觉得CloudFlare的设置很人性化,注册按提示操作很快就可以实现全部配置,简单到可以用默认的设置即可,不过,我还是有一些个人觉得比较好的配置:

  1. DNS选项:DNS Records里面将泛解析去掉(如果有的话),只留下CloudFlare“云朵”保护下的A解析和CName解析(我这里的解析速度快到只有11 ms),彻底隐藏网站的源IP,对防DDoS攻击有一点点好处。DNS分配的IP通常有2个,CloudFlare使用了Anycast和Nginx反向代理技术,实际上CDN加速时,会自动分配最近的数据中心https://tumutanzi.com/cdn-cgi/trace 可以查看浏览器联系的数据中心(colo值对应相应的数据中心)。
  2. Crypto选项:我启用了SSL (with SPDY) Strict(我的网站本身有SSL),意思是CloudFlare的服务器和我的主机之间的通信也需要SSL加密,然后我还启用了HTTP Strict Transport Security (HSTS),并开启里面的所有附加选项。
  3. Speed选项:Auto Minify里选择Gzip压缩CSS, JS和HTML三个选项,减少网页传输流量大小。Rocket Loader™,进一步合并优化JS代码异步加载,我选择Automatic。这个功能因人而异,需要自己测试,如果对网页加载有影响的话就不要启用,毕竟是BETA功能。
  4. Firewall选项:Security Level我使用了高级High。
  5. Caching选项:Browser Cache Expiration我选择了一年的有效期。
  6. ScrapeShield选项:Email Address Obfuscation启用,保护网页上出现的邮箱名不被机器人扫描。

总体来讲,我认为CloudFlare不仅仅是CDN,还有一些网页优化、安全防护的功能,并且都是免费用户就可以享用。用上CloudFlare后,我的源主机几乎看不到网站资源消耗,连流量都节省了60%以上,统计显示,最近7天来,总流量10.31 GB,缓存化的流量达6.72 GB,挡住了285个有害威胁(主要来自中国)。

发现了一个小伎俩,和我几乎相同软件和硬件配置的佐仔说,无论如何都配置不好CloudFlare的HTTPS SSL,总是出现502错误,我重新购买了SSL证书亲自试验了一下,发现重新注册一个CloudFlare账号就解决了问题,CloudFlare似乎对免费账号的SSL功能有所保留,也可能是BUG,百撕不得骑姐。

我对赖博士说,如果不考虑中国大陆的访问速度,我目前还找不到理由不用CloudFlare的CDN。当然,也可能正是这条理由,大部分中文网站不太可能拥抱CloudFlare的CDN。

网站开启HSTS严格HTTPS功能并加入HSTS Preload List

HSTS-HTTPS.jpg

从今天开始,土木坛子开启HSTS(HTTP Strict Transport Security)严格强制HTTPS SSL功能。

我一直支持HTTPS,在启用全站HTTPS后,用301的方式将所有HTTP访问请求自动转成HTTPS加密。但这种服务器端301的方式,并不能阻止浏览器到服务器之间HTTP链接被截持,因为此时的通信,并不是HTTPS。

启用HSTS协议后,在初次访问HTTPS后,用户在浏览器中再输入HTTP链接,浏览器本身会将HTTP链接自动转成HTTPS,会更加全面保护访问者的隐私,例如,没有人能在网络上截取你访问过土木坛子上关于艳照门的博文。

显然,使用HSTS的前提条件有两个,用户必须在之前成功用HTTPS访问过网站,浏览器支持HSTS协议。

这个功能实际意义并不是特别大,它相当于解决这么一个问题,以前需服务器端301跳转HTTP到HTTPS实现的功能现在直接在浏览器端自动完成,代替人工输入HTTPS链接——当然也可以用HTTPS Everywhere插件实现。

对于土木坛子倒是有一点小实用,如果你身在某国,你现在支持HSTS协议的浏览器里(Chrome, Firefox, Safari, IE 11+, Opera),直接输入 tumutanzi.com 或 www.tumutanzi.com,能实现访问了,浏览器自动将链接变成 https://tumutanzi.com,而在今天之前是不行的,tumutanzi.com 在到达服务器之前就已经被某墙截断通信。

其实我倒不是主要在乎这个好处,而是出于对新技术的好奇,有了新技术又能轻松支持,为什么不支持呢?相反,对于老旧的技术,比如Windows XP下的IE浏览器不支持SNI,本网站现在就不支持访问。

HTTPS现在普及得越来越快,百度支持收录HTTPS网站后,现在百度里搜索“土木坛子”,也能打得开结果了。原来不支持HTTPS的FeedBurner也支持烧录HTTPS的RSS Feed了(似乎Google还没有忘记FeedBurner这个项目,但谁知道它哪天会杀了它呢?FeedSky域名都打不开了),比如:https://feeds.feedburner.com/tumutanzi 又可以更新了。

我实现HSTS的方法由CloudFlare提供——CloudFlare不仅仅提供CDN功能,在设置中直接开启即可。使用Apache或者Nginx服务器的朋友随便Google一下应该很容易配置好。

配置好HSTS后,还可申请加入浏览器HSTS Preload List [Mozilla, Chromium],申请地址:https://hstspreload.appspot.com/,申请成功后(2015年7月28日更新:土木坛子域名成功被收录,更新2015年10月16日:Chrome更新到46版本后,土木坛子这个域名就正式开始内置强制HTTPS加密了),全球所有主流浏览器都会内嵌你的域名(Chrome, Firefox, Safari, IE 11+等),解决第一次HTTP的问题,你的域名自始至终都将自动使用HTTPS协议。

如果没有HSTS列表的话,就只能借助HTTPS Everywhere List了,已有好心人把土木坛子的域名 tumutanzi.com 收录到HTTPS Everywhere List里面了。