先介绍一下我的上下文,我的博客是http的模式,但是想做成https安全加密的模式,就图个帅气。 话说博客类的网站很少有人用使用https。 据说google 会针对https的网站加一些权重,可提高你的命中几率,然后我居然信了。 对于证书的申请, 我不可能花钱去买,这里有两个选择,startSSL和let’s encrypt ,他们都是免费的,可以搞定绝大数的浏览器授权。唯一所谓的麻烦就是需要自己续签下,对于你来说也只是一行命令而已。


该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新.

http://xiaorui.cc/?p=3577


Let’s Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS,目前Facebook等大公司开始加入赞助行列。

let’s encrypt 证书使用过程我就简单的过一下,总的来说没什么难的. 


创建申请证书

中间碰到这个页面就说明你已经OK了…


你可以在 /etc/letsencrypt 目录下看到你生成的证书.

letsencrypt的证书是90天,也就是说 90天之后就失效了, 你可以再次续约.

到此为止,证书已经申请完毕,我们需要配置nginx引用这些证书。 

在签发证书的时候,记得关闭nginx,或者其他占用80端口的服务。 因为letsencrypt自己会起个服务做临时的认证,当证书下发后,你就可以再次启动nginx了。 


下面是Nginx ssl证书的主要配置片段 

 如果你是直接使用web框架,配置的过程是一样的

到这里已经已经实现了你网站的证书配置, 看到这里才是我们正题的开始,也就是说  我为什么又撤回到http的模式。 


遇到的问题


情况不是很美好,当我打开 xiaorui.cc 主站的时候,发现没有小绿锁,看到那提示我就知道网站引用的链接不仅仅有https的,还有http的。 那怎么办?  只能把这些能改的都改掉。   首先把cnzz这个代码统计改成https模式的,百度广告联盟也改成https的,但最后剩下这多说让人很是苦恼。 多说作为国内头号社会化评论选手居然https兼容性这么差。  对于头像来说,他只能使用外链的方法,他在接口里也没有设置的地方。 最后通过多说插件的源码来实现的头像img的https.   原理很简单,外链不再是直接访问,而是通过我后端的nginx去转发。   勉勉强强算是解决了。

再让我们解决cdn的问题,我用阿里云的cdn已经有一年的时间了,在使用阿里云配置全站https的时候,出现了网站调试不同的问题。 最后解决方法是在博客里切域名,静态的文件在一个static.xiaorui.cc域名里。  static是xiaorui.cc的二级域名,倒不用重新独立证书。

seo,seo,seo…. 
我主要测试了google baidu 爬虫的https测试,结果令我满意,是可以抓取的.  但是百度抓取https时不时出问题,而且有点慢… 他的耗时居然比google的都要多,这不科学。  我的解决方法是在nginx 做ua的判断,如果看到是爬虫的ua就访问80的数据,非爬虫的ua就转跳到443 https.

性能问题, https是消耗性能我是知道的,但上了一段时间的https之后,发现有变慢。  更换了nginx ssl优化组件后有些提升,但提升不大. 

头像连接失效, 原始评论会记录头像的连接,有不少连接更换成https之后无法访问。  多说里面自带了用户访问痕迹,由于https之后,也是无法访问。

我终于明白为什么有人不用多说评论,而是采用Disqus来实现社会化评论。 越想越蛋疼, 真想滚回http….

更换成https后,出现了访问慢和一些外链的头像和照片无法访问。 越来越觉得没必要因为https这个安全第一的需求,花时间解决这些问题…. 

最后,取消https,滚回http… 

END. 



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品