全面进入HTTPS加密时代

新年来临,也有些新变化。在网站方面,我把我所有能换成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的支持力度实在是不一般。
百度终于支持收录HTTPS SSL加密网站
去年我预言:“估计百度在不久的将来可能完全支持索引收录HTTPS网站”,现在预言实现。昨天百度发布收录HTTPS站点公告:
亲爱的网站管理员:
从今天开始,百度放开对HTTPS站点的收录,HTTPS站点不需要再做任何额外的工作就可以被百度顺利抓收。
在此之前,百度站长学院曾发表文章,指导HTTPS站点制作http可访问版便于百度抓收。技术升级后,百度视同一个域名的http版和HTTPS版为一个站点,优先收录HTTPS版。建议站长关闭HTTP版,或者将HTTP页面直接跳转到对应的HTTPS页面。
我一般不太关注百度,因为百度代表落后、保守的搜索引擎。现在看来,百度也被不断进步的网络技术推着前进。
之前我就发现百度开始收录土木坛子,估计就在试水收录HTTPS网站。后来,百度开启了其自身的HTTPS功能,虽然未必是出于保护用户的隐私目的,但即使是为了保护它的竞价搜索利益,开启HTTPS也是可取的。
现在百度又全面支持收录HTTPS网站,向Google甚至国内其它小搜索引擎看齐,这将进一步推动互联网HTTPS加密化进程。
毕竟百度是中文搜索引擎目前的龙头老大,百度倒向HTTPS,将促使更多的中文网站采用HTTPS加密,由于HTTPS SSL证书的费用,百度这一举动甚至可能减少垃圾采集网站的数量,当然将来有免费的HTTPS证书后又可能是另外一回事。
无论百度出于什么目的,百度在开启自身HTTPS搜索后,又支持收录HTTPS网站,这是一个值得称赞的行为,我觉得也是互联网历史上值得记录的一天。
如何优惠购买HTTPS SSL证书?

相信不少人知道百度的广告和统计JS代码DDoS国外GitHub的事情(沉痛同情那些托管到GitHub Pages上的国内Jekyll静态博客们)。
即使不论Google对HTTPS SSL网站是否厚爱有加,我觉得现在个人博客网站强制采用HTTPS SSL应该成为标准配置,就像到邮局寄信,你不希望你的信件在邮路中是公开的,互联网早期因为应用有限没有想到流量加密,现在网站加密必须成为标配。
采用HTTPS后,能保证网站内容在浏览者和服务器之间加密,且不会被任何人动手脚,防止访问者访问网站时被无良ISP注入广告,也能避免遭受攻击GitHub式的链路劫持。
采用HTTPS对主机服务器并不会带来多余的压力,至少我使用HTTPS三年来,没有见过服务器产生过问题,比我流量小的网站就更不用担心了。
使用HTTPS也不贵。一份SSL证书一般也就一年10美元不到的价格。我从QuickHostUK买到的3年SSL证书比较便宜,5英镑一年。这份SSL证书是COMODO颁发的Positive SSL证书,价格很便宜,但使用过程中没有任何问题。
我后来发现,从其它地方购买SSL证书更优惠,同样这份COMODO的Positive SSL证书,从namecheap.com买是9美元一年,而从ssls.com购买,三年只要15美元,比QuickHostUK的代理价格还要便宜,而ssls.com本身就是namecheap.com旗下成员。当然,还有更便宜的,GogetSSL还有三年10.95美元的Comodo SSL证书。
看来购买SSL证书还是要从名气小一些但靠谱的小公司买,代理价格更有优惠,反正到手后的证书和大公司得来的一样。
免费的SSL证书也有(StartSSL和CloudFlare的SSL证书),但我个人觉得最好不要用免费或者个人代理的SSL证书,StartSSL曾经被GFW问候过,前一阵国内某个人代理便宜通配SSL证书到现在被吊销了。
再说,国外的SSL证书也不贵。
每年网站资金投入情况

前几天在更新安装SSL证书的时候,忽然发现每年在网站的资金投入也不小。
- 目前共有8个域名(其中4个为土木坛子服务),托管在Namesilo, 每个域名每年的费用是9美元,共72美元左右。
- 一个ICDSoft主机提供的独立IP,约10美元一年。
- 一份QuickHostUK提供的SSL(Comodo Positive)证书,每年约5英镑。
- 主机空间两个,ICDSoft主机托管土木坛子博客,每年180美元,MediaTemple主机托管所有其它的网站,每年240美元。
如此一算下来,一年需要510美元,约3200元人民币,实际上,因为我有ICDSoft代理价格,MT主机我用了6折优惠价格,独立IP好几年才10美元,优惠下来,总投入每年约2100元左右,依然不是一笔小数字。这年头玩什么都要烧钱。
当然,我之所以如此大成本投入,主要是有这个需求,博客已经是个人网站中的顶级配置(多域名+独立IP+HTTPS+企业主机),其它的网站放在MT主机上也有很好的性能,这样的性能都足以应付偶尔的高访问流量。
而有流量后,现有的AdSense广告收入和VPN推荐提成,足以支付对网站的投入资金。
便宜的方案也有,比如采用VPS服务器,就能大大减低主机方面的费用。根据我的经验,我还是不喜欢VPS,它需要较大的精力来维护安全和稳定性。
对于一般的博客,我不建议像我这样大资金投入,因为没有这个必要。我刚开始也是用戈戈主机提供的每年100元入门主机,到了后来才发现需要升级到ICDSoft主机和其它配置。
真要是有升级网站配置、加大资金投入的时候,反而不用担心,这说明流量可观,能产生一定收益了。不知你的博客网站资金投入多少?欢迎来晒晒。
更新网站HTTPS SSL证书

当初是为了获得主机商ICDSoft的独立IP,土木坛子配置了免费SSL证书(ICDSoft不单独销售独立IP)。后来觉得网站HTTPS加密是未来趋势,就升级到付费SSL证书,并强制性HTTPS加密网站,更好地保护浏览者的隐私。
当初的付费SSL证书购买于Godaddy,两年价钱约10多美元。前几天收到Godaddy发来的邮件,提醒我的SSL证书还有两个月到期,并说给我一个忠诚客户价格,139美元两年,这个价格只能让我背判Godaddy。
其实我早已将自己的和代理别人的域名从Godaddy迁到Namecheap,最后再迁到了提供免费WHOIS隐私保护和价格稳定的Namesilo,至于SSL证书,我早就不想用Godaddy了。
我看上了赖博士的主机商QuickHostUK代理的SSL证书,五年价格只需15英镑左右。不过,当我购买了五年有效期的SSL证书后,发现居然无法生成加密私钥。
一番沟通后,说是从2015年3月份开始,每份SSL证书的有效期最多只能39个月,他们网站由于来不及升级更新(现在已经更新过了),导致5年SSL证书还在销售。客服只好给我退款,我再购买了3年的SSL证书,价格依然是15英镑左右。
我为什么想购买SSL长期证书?一是不想每年都麻烦地安装更新证书,二是ICDSoft是每次安装更新证书需要收10美元服务费用。
早知道这样,我就在3月份之前提前放弃Godaddy的SSL证书,使用上那个5年有效期的SSL证书了,不但省事,还能省上20英镑左右。计划赶不上变化。
广告:有朋友咨询我ICDSoft优惠价格,作为ICDSoft长期铁杆客户,我有较大的优惠折扣,对ICDSoft主机很感兴趣的朋友,可以到土木坛子的店去购买。
QQ域名邮箱客户端收发信设置方法(以Outlook为例)
有域名的朋友可以自己搭建域名邮箱,避免第三方邮箱提供商的服务出现问题(Yahoo中国),或者因其它不可抗因素导致无法正常使用(Gmail)。
建议域名邮箱使用QQ或Hotmail(似乎不再支持免费)后台技术托管,它们的技术尤其是垃圾邮件处理能力远远好于搭建在自己主机上的邮件系统。
网页端QQ域名邮件不错,但我们还是可能需要使用客户端收发信,客户端邮箱最大的好处是实现离线处理信件。
那么如何设置QQ域名邮箱客户端收发信呢?QQ域名邮箱似乎没有提供官方设置指南,估计是不鼓励使用客户端——少了广告收入。我试过好几次,终于搞明白设置方法,方法其实很简单,下面以Outlook 2013为例(iPhone iPad客户端设置和此原理一样)。
- 打开Outlook客户端,点击菜单栏的“文件”选项,选择“账号设置”。
- “新建”邮件账号,选择“手动设置”。
- 选择POP IMAP选项(需要先在QQ邮箱设置中开启SMTP, IMAP),输入你的发件人姓名和域名邮箱。
- 服务器类型选择IMAP账号类型,然后在收信服务器一栏填写 imap.qq.com 发信服务器 smtp.qq.com 见下图第一张。
- 最重要的一步(也是经常设置不成功的原因),在用户名和密码两栏处分别填写你的域名邮箱名完整地址(比如 [email protected])和域名邮箱关联的QQ密码。
- 最后,在“更多设置”里分别设置发信服务器和收信服务器,发信服务器验证使用与收信时一样的账户名和密码,在高级设置项里设置发信和收信采用SSL加密协议,相应的端口号:IMAP 993 SMTP 465. 见下图第二张。


确定完成设置,至此Outlook客户就可以顺利收发域名邮箱中的信件,后台完全由QQ域名邮箱为你免费服务。Thunderbird Foxmail客户端也是相似的设置。
我的绝大部分域名邮箱是托管在QQ域名邮箱系统上,基本上用起来还不错,唯一的缺点是所有邮件内容理论上处于天朝审查状态,好在我没有什么机密信息。
百度HTTPS加密搜索有什么用?

前段时间,我曾提到百度支持移动端HTTPS SSL加密搜索,用以保护用户隐私。最近,百度开始支持PC端HTTPS SSL加密搜索,现在可以启用 https://www.baidu.com 搜索。我很少对百度有好感,但仍要实事求是地说:这是百度值得夸赞的一个举动。
不过,有墙外媒体说百度启用加密搜索“意义不大”,某活动人士甚至说:
“百度采用SSL搜索加密其实没有意义,几乎没有人有这样的需求,百度上也没有什么特别的信息——‘不良’或‘违法’的信息——可以搜索。”
这样的说法明显片面甚至带着有色眼镜。百度支持HTTPS与搜索“违法”信息是两码事,支持HTTPS是保护用户隐私,而不是提供未经审查的搜索。试想百度是天朝的正规公司,怎么可能违背“法律”推出像Google那样未经审查的内容呢?
那百度的HTTPS版本对普通搜索用户的隐私保护在哪里?先看几个例子。
- 有网友告诉我:之前公司一名女经理同事,就发现她经常百度搜索:“做爱射到里面会不会怀孕安全期怎么算”之类的信息。
- 用户在百度搜索一个关键词“人流”,很快就会有医院打电话过来推销人流手术广告。
- 几个月前我在移动端使用百度搜索过疾病症状,当天就有医院打电话过来拉单。然后在网上百度搜索了几次EMS,就有邮包诈骗电话打过来。
以上几个网友举出的真实例子,足以说明百度用户的网络隐私被侵犯了。在不使用HTTPS安全链接版本百度情况下,用户的网络隐私有可能在用户和百度服务器之间的网络中途被人截取(公司网管、ISP网络宽带提供商、黑客等),也有可能是百度公司出卖了用户的隐私。
如果不是百度出卖用户泄漏隐私,那么百度用户使用加密版搜索 https://www.baidu.com,就可以几乎100%避免以上几个隐私泄露的例子。
为什么这样说?在HTTPS通信协议下,用户和百度服务器之间的通信内容都进行了加密。打个比方,16岁的小明和15岁的小花早恋写情书,过去每封信都被父母偷偷查看,现在小明和小花采用暗语(HTTPS)加密通信,父母虽然知道两人之间有信件来往,却看不懂内容是什么,如此一来通信隐私就被保护了。
因此,上面提到的那位女经理现在如果用安全链接 https://www.baidu.com 搜索,公司的网络管理员就再也看不到她搜索的所有内容。搜索隐私信息本身没有问题,有问题的是偷看隐私的人,可是这样的事情很难靠道德和宽泛的法律来避免,强大的技术是一道有力保障。HTTPS保障不只是用户隐私,更是通信安全。
在网络安全和个人隐私越来越受到重视的今天,HTTPS SSL将会越来越流行,Google早就全面采用HTTPS加密搜索保护用户隐私,跟随者百度采用HTTPS应当值得肯定。百度作为墙内较大的互联网公司,有必要有责任保护其用户的网络隐私和安全。我估计百度在不久的将来可能完全支持索引收录HTTPS网站(2015年5月25日更新:百度发布公告称,从今天开始,百度放开对https站点的收录,https站点不需要再做任何额外的工作就可以被百度顺利抓收),Google早就支持了,这是趋势。
土木坛子早已全面采用HTTPS加密访问,除了你没有谁知道你浏览了本篇博文。
试用永久免费隐私保护的NameSilo域名商
我从未在国内注册过域名,以前是在Godaddy上注册域名。由于Godaddy域名续费越来越贵,再加上安全事故频频爆出,我渐渐将域名转移到NameCheap.com.
NameCheap域名商的价格未必最便宜,但注册和续费的价格相对稳定(偶尔会有非常便宜的注册和转移优惠码),提供第一年免费的Whois Privacy隐私保护。NameCheap的支付方式还支持比特币(不过Godaddy支持中国的支付宝),令我很喜欢。
最近,我把我所拥有的域名都转移到了NameSilo.com. 我之前就听说过NameSilo域名商,但从未亲自体验过。将域名转移到NameSilo后,我发现这家域名商服务也不错,价格稳定,注册和续费便宜,大概8美元一年的样子。NameSilo几乎很少有特别优惠的优惠码折扣,如此透明的收费方式,不用担心价格,也不必考虑到处找优惠码,我喜欢。
NameSilo更让我喜欢的一点是,NameSilo提供终生免费的Whois Privacy服务:保护域名隐私。在域名安全性上,它提供的登录二次验证和域名保护(2-Factor Authentication & Domain Defender)让域名的安全性得到极大的保证。支付方式上,NameSilo除了传统的信用卡和Paypal外,也支持Bitcoin比特币(更新:现在也支持支付宝了),这令我非常喜欢。
不过,唯一不足的是,NameSilo不提供HTTPS SSL证书服务,所以我不会放弃NameCheap的服务——它家提供的HTTPS SSL证书极度便宜和方便。没有永久忠诚的客户,客户只忠诚于物有所值的优质服务与产品。
NameSilo提供一点优惠,比如,你可以使用我提供的优惠码Coupon:tumutanzi, 能得到一美元的折扣,聊胜于无。
搜索引擎是否收录HTTPS SSL网站?
Update(2014年8月7日): Google官方博客发布公告,称已经调整其搜索引擎算法,采用HTTPS加密的网站在搜索结果中的排名将会更高。
网络安全越来越重要,HTTPS SSL加密网络传输成为一个重要的手段。可是,许多网站依然没有或者不愿意采用HTTPS SSL证书,一方面会增加成本——布置SSL需要购买证书和独立IP,大型网站全面采用HTTPS SSL带来的加密也会增加服务器系统开销。更重要的一方面,小型网站比如博客等会关注搜索引擎是否收录HTTPS SSL网页。
绝大部分搜索引擎支持HTTPS SSL收录
人们普遍的印象是Google全面支持甚至偏爱HTTPS SSL网页,而国内的百度不支持收录HTTS SSL页面。那么众多其它的搜索引擎呢?国际上的Bing, Yahoo, 国内的360, 搜狗、有道呢?我对这个问题比较好奇。
刚好我的博客是全站强制HTTPS SSL加密,并且HTTP页面在国内是完全无法访问的状况,成为一个很好的测试对象,我以我的博客网址 https://tumutanzi.com 作为搜索对象,在国内外的搜索引擎中进行了测试。
测试结果表明:
- 国内的搜索引擎中,360搜索(有道)、搜狗(含腾讯搜搜)都收录了我的博客页面,完全支持HTTPS SSL加密网页。中文搜索中的龙头百度没有收录土木坛子任何HTTPS SSL页面。
- 国外搜索引擎中,Google.com, Bing.com, Yahoo.com都收录了 https://tumutanzi.com, 但是必应Bing存在HTTP和HTTPS页面都收录的情况——不过这有可能是网站的HTTP页面过去没有使用301重定向的原因。
No Baidu!
事实上,我过去查看网站服务器日志时发现,百度蜘蛛在我的博客被墙后一直在爬行,但就是在搜索结果中不放出任何结果,并提示网站不存在。至于收录HTTPS页面方面,也没有证据表明百度支持HTTPS:甚至对国内最知名的HTTPS网站支付宝首页都没有收录。
我认为,为了保护网络隐私,采用HTTPS SSL加密网站传输将日益成为网站的标配,国外知名搜索引擎和国内几大主流搜索引擎也都已经支持收录HTTPS SSL加密网页,担心搜索引擎不收录HTTPS SSL网页没有必要。此外,我相信百度在技术上收录HTTPS网页完全不存在问题。个中原由,任由读者们猜测。对于百度的这种行径,我也直接亮明土木坛子的态度:No Baidu!
2015年5月25日更新:百度发布公告称:从今天开始,百度放开对https站点的收录,https站点不需要再做任何额外的工作就可以被百度顺利抓收。
Update: 百度本身已经支持 HTTPS, 但是不收录 HTTPS: https://www.baidu.com/s?wd=https://tumutanzi.com
Update: 一称BAIDU罗成的百度工程师撰文称:百度无线搜索目前已经支持https,手机访问地址 https://m.baidu.com
修改.htaccess强制HTTP重定向为HTTPS链接
土木坛子采用HTTPS SSL加密链接形式访问网站有几年了,但一直也可以通过HTTP明文形式访问(国内用户现在无法),我知道这样对于SEO不太好,但也没有去采取措施强制统一两者。
最近,勺子兄和燕渡寒潭两位博主都加入了ICDSOFT主机,并使用独立IP和HTTPS SSL加密访问。我想既然使用HTTPS就全站使用吧:把所有HTTP请求强制性重定向为HTTPS。我决定帮助他们设置一下。没想到在土木坛子上使用Google中英文搜索的结果修改.htaccess文件后,无论如何都不行。情急之下询问ICDOSFT客服人员,十分钟不到技术人员就帮我修改好了,只在.htaccess文件里添加了两行规则:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
看来是将所有HTTP 80端口请求自动跳转成HTTPS(这里的example.com需修改成你的域名)。网上那么多人的方法都不是这样,所以我觉得有必要把它贴到这里,供不是太懂Apache服务器的人参考,总不至于为了添加这么一条规则学习所有的正则表达式和Apache指令。
其实ICDSOFT的客服人员给我修改的规则最后一行里没有301参数,因此只是302临时性转移,对搜索引擎不友好。添加301参数后,就变成了永久性转移——传递原来的权重。此外,将HTTP链接强制301重定向为HTTPS后,点击域名在其它网站留下的HTTP链接也会自动变成HTTPS,有利于用户体验,充分利用好HTTPS保护好访问者的隐私——哪怕TA在你的网站浏览了成人内容也无法被裸奔的网络嗅探。
用HTTPS会有一些与HTTP不一样的地方,需要一点点积累,见招拆招。