背景:
發現問題:
定位原因:
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; # 設定協商加密演演算法,優先使用伺服器端定義的加密套件
}