HTTPS可以有效的防止运营商的流量劫持,我们的应用中因为使用了http协议,就出现过功能出现异常。苹果要求2017年开始应用内必须使用HTTPS ,这个措施可以有效的解决流量劫持的问题。
苹果要求的ATS(App Transport Security),对HTTPS的加密方式也有要求。
关于ATS
ATS(App Transport Security)是为了提高App与服务器之间安全传输数据一个特性,这个特性从 iOS9 和 OSX10.11 开始出现,它默认需要满足以下几个条件:
- 服务器TLS版本至少是1.2版本
- 连接加密只允许几种先进的加密
- 证书必须使用SHA256或者更好的哈希算法进行签名,要么是2048位或者更长的RSA密钥,要么就是256位或更长的ECC密钥。
如果想详细了解,可以查看 官方文档。
Nginx 配置
首先,我们需要先申请ssl证书,腾讯可以提供 免费的SSL证书。如果有域名的管理权限,可以免费申请。
修改Nginx,使其支持HTTPS。
ssl on;
ssl_certificate ssl_new.crt;
ssl_certificate_key ssl_new.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
验证
可以在mac系统的终端中使用下面工具验证是否支持ATS的特性。
nscurl --ats-diagnostics --verbose https://www.qiansw.com
如果上面测试全部结果为PASS,则成功,如果出现FAIL,就要找一下原因。
这篇文章还没有人留言,快来抢沙发吧。