文章目录
-
-
-
-
-
- 1. 关于iOS系统升级到iOS14企业APP出现无法安装解决方案
-
-
-
-
1. 关于iOS系统升级到iOS14企业APP出现无法安装解决方案
背景:
- 是在其他的系统版本是下载成功并且可以正常安装,同一个plist文件,14以下的苹果系统就是可以正常安装的,14确不可以安装。
- 这类问题主要针对的是使用自建静态资源服务下载的应用,非apple store、非第三方厂家如费米,蒲公英等等
发现问题:
- 将下载的链接域名,用chrome打开会发现显示不安全链接,但是证书确实是有效证书,如果是正常的应该是锁才对。
- 打开详情,提示:用于加载此网站的连接使用的是TLS1.0或者TLS1.1,这两个TLS版本都已经过时,不久之后完全停用。届时,用户将无法再加载此网站,服务器应用启动TLS1.2或更高版本。
定位原因:
TLS 1. 3 版本发布之后,苹果、谷歌、Mozilla和微软四大浏览器制造商于 2018年10月联合宣布计划在2020年初取消对TLS 1. 0 和TLS 1. 1的支持,所以导致现在iOS14下载不了app的问题
题外:
在iOS14上苹果对于自身提供的解决方案中ats的要求更加严格,之前我们通过itms协议安装应用时只要plist文件是https即可,14之后要求ipa链接使用的也必须是https才行,否则将出现无法安装的问题。
自建ipa下载应用满足条件:
-
不可使用http的下载页面,嵌套https的下载链接
-
plist的文件和ipa的链接都必须是https
-
自建的服务器配置的nginx必须支持ssl协议是tlsv1.2以上
配置:
server { server_name xxx.xxx.com; listen 443; ssl on; access_log /logs/nginx/xxx.xxx.com_access.log main; error_log /logs/nginx/xxx.xxx.com_error.log; ssl_certificate /opt/nginx/ssl/xxx.xxx.com.pem; # 公钥证书 ssl_certificate_key /opt/nginx/ssl/xxx.xxx.com.key; # 私钥证书 ssl_session_timeout 5m; # 客户端能够重用会话缓存中ssl参数的过期时间 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 指定支持的协议,这里表示支持1、1.1和1.2, 如果只写1.2表示仅支持1.2. 注:OpenSSL版本要求 >= 1.0.1 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; # 加密套件,多个之间用冒号分隔,前有感叹号的表示必须废弃 ssl_prefer_server_ciphers on; # 设置协商加密算法,优先使用服务端定义的加密套件 }