随着移动互联网,网银支付等等的普及,越来越多的应用开始重视私密性和安全性,最常见的就是把原有基于明文传输的HTTP调整为加密的HTTPS方式;实现这种方式的最常用的手段也是购置第三方发布的域名证书,部署到后台每台服务器上。

但是SSL的加密/解密是最消耗服务器资源的应用,HTTP到HTTPS部署后很可能会发现服务器的性能和处理能力大幅下降;而专用的应用交付设备通常内置硬件的SSL加速卡,可以高效的处理SSL加密流量。一个简单的对比动画图如下:

HTTPS加速/SSL卸载的目的和用途

将在服务器上的证书加解密的功能迁移到负载均衡设备上

主要优势有

  • 减低服务器负载,SSL处理非常消耗服务器的性能
  • 提升SSL处理能力;应用交付设备采用专用的SSL卸载硬件芯片实现
  • 降低管理员操作复杂性;无需管理和配置多个服务器的证书;只需要在前端负载均衡设备上实现即可
  • 提升应用安全性;将加密的HTTPS解密为明文的HTTP后,可根据请求/响应内容等设置多种策略

证书的种类

客户需要向提供证书的第三方机构申请,例如GeoTrust, VeriSignThawte等授权证书机构

证书简单的区分有2种分类方式

  • 单一域名证书;例如 www.example.com
  • 通配符证书;例如 *.example.com     更贵
  • 普通型证书 例如

     支付宝: 普通证书

  • 增强型(EV SSL) 证书    更贵, 例如
  • 工商银行网银: 增强型证书;显示为绿色,同时显示网站名称

收到的证书是什么样子的

GeoTrust为例;证书通常通过邮件转发的;通常包括网站证书; 中级证书和交叉证书;

另外还有证书的密钥Key(请妥善管理密钥,这是非常机密的重要文件)

如何将证书导入到应用交付设备中

 每个应用交付设备的具体配置方式可能不同,此处以A10网络的AX设备为例

证书文件的准备

使用文本编辑器,例如UltraEdit

1:将密钥文件保存为key.PEM

2:网站SSL证书保存为cert.PEM

3:将交叉证书和中级证书保存于同一个文件中,例如cert-chain.PEM

  

    注意交叉证书先;中级证书后

证书文件的导入

在A10设备的配置模式中, 在服务>SSL管理中 分别导入上一部定义的3个文件:

导入证书cert.pem并根据需求命名,例如mail2012

导入证书链cert-chain.pem并根据需求命名,例如mail2012-chain

导入私钥key.pem并根据需求命名,例如mail2012-key

至此证书导入完毕。

证书文件的配置和应用

在证书准备完毕后,需要将其关连配置后再启用;

首先创建终端的SSL模板,在配置模式>服务>模板中

最后一步,即将配置的终端SSL模板应用于提供应用的VIP端口下,通常为443端口,注意端口类型选择为https

至此配置结束。

启用证书后的功能验证

配置结束后,在正式应用对外发布前,可以进行内部的测试验证;

例如域名为www.example.com在应用交付设备上对应的VIP 地址为1.1.1.1;那么可以在DNS发布前通过修改本机的hosts域名解析先进行测试验证后再对外发布;测试时浏览器不再提示非法的证书,基本就可以说明证书部署是成功的。

需要注意的是:在极个别的案例中,我们发现有用户在应用层面(例如web服务器的响应回报中)写定了http的方式(例如下图)

此时是有可能造成https访问存在问题的,可以通过后台程序的修改;或者使用应用交付设备的7层内容更替(例如A10设备的aFleX)功能在后台程序不变的情况下智能修改返回给用户的内容来实现,这是题外话,我们以后再接着谈。

 

(J.L).