Home | 简体中文 | 繁体中文 | 杂文 | Search | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Email

3.9. SSL

SSL 加密传输,为电子商务提供交易安全保护,什么时候该使用 SSL呢:

使用SSL

  1. 用户登录

  2. 购物流程

  3. 支付

什么时候不使用SSL? 经过SSL加密后,你就失去了很多功能,你不能在对页面做Cache/CDN,SSL加密与解密需要耗费你的服务器CPU与内存资源,能不使用尽量不使用。

对于SSL消耗你服务器资源这方面有两个方案解决

  1. 将SSL证书安装到CDN上,目前蓝讯,网宿等等CDN厂商都提供SSL服务。我与上两家技术人员沟通过,也安装了证书实际测试一下,你可以放心是使用。

  2. 将SSL证书安装到负载均衡设备,这些设备都采用专用硬件处理SSL请求,我测试过F5,Array,Banggoo

采用上面两种方案,无需改变你目前的服务器配置,他们的原理是

		
user (https://www.example.com) --> CDN or SLB (SSL) --> http://www.example.com
		
		

用户访问https,到达CDN或者负载均衡,CDN/SLB 通过http://请求源站,然后将内容SSL加密,返回给用户,这样用户得到的是加密内容。

用户提交数据,交给CDN/SLB,CDN/SLB将SSL加密数据卸载证书,然后将解密后数据发回源站。

CDN与SLB加载卸载证书原理很简单,不难理解。

我来教你DIY一个,你可以使用Squid,Nginx,Apache等等反向代理服务器,将证书安装在反向代理上,请求源站仍然采用http。

[提示]SSL注意事项

你如果认为把SSL挂载到网站前端就,大功告成,完事了,那你错了。

幸运的话你会成功,但有时的时候你发现你的证书不被信任。如果你是个细心的人,你会发现单个图片,或者你创建换成测试文件 echo helloworld > index.html 证书都是OK的。

这个问题出在你的html页面中,安装有SSL证书的网站,不能有外链js,flash等等不安全内容。