配置HTTPS

2017年1月1日开始,苹果要求所有iOS应用必须使用ATS(App Transport Security),即APP内连接必须使用安全的HTTPS。并不简单是一个HTTPS协议,而且要满足iOS9中新增特性。虽然目前已经无限期推迟了这个计划,但该来的总会来的。

安全的HTTPS主要包括以下几点:
1、证书颁发机构的要求
2、传输协议的要求
3、签字算法的要求
4、证书的哈希算法和秘钥长度的要求
更详细的关于这些要求的解释可以在阿里云查看

1.选择 购买证书 即可进入证书购买页面。可以按照需求配置您的证书。这里我选择了 免费型DV SSL 证书(毕竟不要钱) 这里选择的品牌满足了 [1、证书颁发机构 的要求]。推荐选择Symantec/GeoTrust品牌的OV及以上证书。CFCA虽然是国产的,但是CFCA品牌只在最新的苹果设备上才支持,不推荐CFCA品牌
2.购买完成够并不意味着您的证书可以使用了,还需要提交审核,完善基本信息

1.购买证书完成后,可以在 控制台->安全(云盾)->证书服务 中找到您的订单 选择 “信息补全”

1.等待审核通过后选择下载,进入下载页面。根据服务器类型选择不同的下载证书,这里我选择了Nginx环境下的证书下载。下载到本地后解压会发现里面有两个文件分别是.key和.pem文件,它们就是我们的最终证书。

2.上传.key和.pem文件到服务器的任意目录下。记一下它们的路径,待会会用到。

3.一个完整可用的证书就制作好了,下面就是配置您的服务器了

1.需要检查Nginx的SSL模块是否安装。在nginx/sbin 文件夹下运行

nginx -v configure arguments中存在 --with-http_ssl_module 说明SSL模块以及安装 

1.进入到您要配置的域名的conf文件中。

cd /usr/local/nginx/conf/vhost/ vi api.conf 

2.修改您的nginx配置文件

2.1 将listen 80;修改成监听443端口
2.2 加入2号框中的配置

 ssl on; ssl_certificate /usr/local/nginx/conf/ssl/apissl/213985405980765.pem; #上传的证书pem文件 ssl_certificate_key /usr/local/nginx/conf/ssl/apissl/213985405980765.key; # 上传的证书key文件 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #设置传输协议 苹果要求必须满足 TLSv1.2 这里满足了 [2.传输协议的要求] ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; # 签字算法 [3.签字算法的要求] ssl_prefer_server_ciphers on; 

2.3 为了解决修改为https后http无法访问的问题可以加入 3号框 中的代码 将http重定向到https
3.重启nginx服务器 查看端口状态

lnmp restart nginx //重启nginx 不同的系统请选择不同的重启方式 netstat -lntup|grep 443 //查看443端口状态 

2.检查是否满足ATS可以使用MAC自带的命令

nscurl --ats-diagnostics --verbose https://api.eastwu.cn 

检查全部通过,说明HTTPS配置成功了

原文链接:https://www.jianshu.com/p/f3c947f69c95

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享