`

iOS9下基于ATS对HTTPS要求的 tls 1.2环境之nginx环境配置

阅读更多
一、需求
iOS9中新增App Transport Security(简称ATS)特性, 主要使到原来请求的时候用到的HTTP,都转向TLS1.2协议进行传输。这也意味着所有的HTTP协议都强制使用了HTTPS协议进行传输。因此移动api需要配置为https并且要支持tls 1.2

二、项目情况
服务器端:公司的服务器的采用的操作系统是centos,开发语言php,web容器采用的nginx。
客户端:ios android
客户端和服务的通信采用http和json
app内的部分功能通过webbiew加载h5完成。

三、最终配置成功
nginx.conf中的相关配置如下:
server
        {
                server_name mobileapi.xx.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /home/wwwroot/mobileapi.xx.com/web;


                listen 443 ssl;
                 ssl on;
                 ssl_certificate        /home/wwwroot/ssl.xx.com/xx.crt;
                 ssl_certificate_key    /home/wwwroot/ssl.xx.com/xx.key;
                 ssl_session_timeout  5m;
                
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
                ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
                ssl_prefer_server_ciphers   on;



                include none.conf;
                location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                #fastcgi_pass  unix:/tmp/php-cgi.sock;
                                fastcgi_pass  unix:/dev/shm/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location /{
                                 if (!-e $request_filename){
                                          rewrite ^/(.*) /index.php last;
                                  }
                }
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                access_log off;
        }


四、关键软件的版本
nginx 1.11.7
openssl 1.0.1e-fips
contos 6.3

五、nginx和openssl安装
openssl安装yum install openssl
从官网下载nginx 1.11.7
nginx安装命令:./configure  --prefix=/usr/local/nginx1_11_7   --with-http_ssl_module


六、测试方法
nscurl --ats-diagnostics https://mobileapi.xx.com
如果全部pass 证明配置成功

七、遇到的坑
nginx当时是1.4.4版本太低,不支持tls 1.2
openssl版本太低,当时是0.9.8e
CentOS 如果是5.x的,升级openssl要手工,没法用yum


七、参考资料

https://my.oschina.net/vimfung/blog/494687
https://zhidao.baidu.com/question/1114939951869020059.html
http://blog.sina.com.cn/s/blog_4e11d20b0102vmne.html
http://bguncle.blog.51cto.com/3184079/1392870/
http://www.cnblogs.com/hitwtx/archive/2012/02/13/2349742.html
https://my.oschina.net/u/1423896/blog/267511





分享到:
评论

相关推荐

    Windows Server 2008 R2 下配置TLS1.2添加自签名证书的图文教程

    在本文中,我们将详细探讨如何在Windows Server 2008 R2操作系统环境下配置TLS 1.2并添加自签名证书,为服务器提供一个安全的加密通道,特别是在满足苹果App Transport Security (ATS) 新规定的要求下。苹果公司在...

    IOS 9 App Transport Security 详解

    ATS是一个由iOS 9操作系统提供的安全层,它强制所有的网络通信都要通过HTTPS,并且只能使用支持现代加密标准的HTTPS(比如TLS 1.2及以上版本)。这样的设定有效地限制了应用通过不安全的HTTP协议传输数据,增强了...

    SSL/TLS 检测工具以及 tomcat 正向加密配置例子

    本资源包含一个 openssl 工具安装包 Win32OpenSSL-...关于tomcat 进行配置 ssl 证书、完全 TLS v1.2、完全正向加密的具体步骤可以参考博客《为通过 ATS 检测 Tomcat 完全 TLS v1.2、完全正向加密及其结果检验》,地址:...

    ATS2823 Datasheet V1.2_20151024.pdf

    双模蓝牙芯片数据手册 Low Power Solution for portable & wireless audio applications Bluetooth V4.2 104MHz MIPS32 + 180M CEVA DSP

    IIS Crypto能够在Windows Server 2008,2012和2016上启用或禁用TLS,SSL协议的的款免费工具

    设置完成后,使用这个工具,可以在线检测网站的SSL证书是否安全,是否存在漏洞,是否达到ssL行业标准,符合苹果ATS规范,能否通过微信小程序安全要求。同时提供证书格式转换,CSR,证书链,SSL配置生成等。

    炬力ATS2823/ATS2825蓝牙模块固件开发资料

    9. **安全性和认证**:蓝牙设备需要符合FCC、CE、RoHS等法规要求,固件开发过程中应考虑到这些标准,确保产品的安全性和合规性。 通过这份开发资料,开发者可以全面掌握炬力ATS2823/ATS2825蓝牙模块的固件开发流程...

    通过IOS-ATS检测版本apatch配置

    在iOS中配置ATS,开发者需要在`Info.plist`文件中添加特定的键值对,比如`NSAppTransportSecurity`,然后在此下设置`NSAllowsArbitraryLoads`或`NSExceptionDomains`等子项,来指定哪些URL或域名可以使用非HTTPS连接...

    解决微信小程序要求的TLS版本必须大于等于1.2的问题

    一、环境: CentOS 6.8 nginx 1.6.0 ...二、背景 最近开发一个小程序,而小程序对后台接口...2017年1月1日起,苹果强制所有 app 满足 HTTPS,即 iOS9 推出的 App Transport Security (ATS) 特性。 访问 https://www.q

    iOS10 ATS 配置详细介绍

    ATS确保了应用间的网络通信遵循现代加密标准,比如TLS(Transport Layer Security) 1.2及更高版本,以提升整体的数据传输安全性。 然而,ATS也可能导致一些问题,特别是在与不支持HTTPS或者使用自签名证书的服务器...

    iOS9功能适配的集合

    本资源集合主要关注的是针对iOS9的功能适配,帮助开发者解决在iOS9环境下遇到的问题,提高应用的兼容性和用户体验。 一、UI适配 1. `San Francisco` 字体:iOS9引入了新的系统字体San Francisco,替换掉了之前的...

    iOS9 视频播放器 支持本地和网络

    这里需要确保URL是有效的HTTP或HTTPS链接,因为iOS9开始强制要求使用ATS(App Transport Security)来保护用户数据的安全传输。如果视频URL不支持HTTPS,可能需要在Info.plist文件中设置 ATS 的例外规则,或者使用第...

    ios 9开发指南源程序

    UI设计方面,iOS 9支持Split View和Picture in Picture模式,让应用能在iPad的多任务环境下更好地工作。源代码会展示如何利用这些新接口实现多窗口支持,以及如何在视频播放时实现画中画效果。 Metal是苹果的低级...

    iOS9 By Tutorials.zip

    《iOS9 By Tutorials》是一本专为iOS开发者和爱好者准备的教程集合,全面解析了iOS9操作系统的新特性和功能。教程旨在帮助读者深入理解如何利用这些新特性来提升应用程序的功能和用户体验。以下是对其中一些关键知识...

    swift-iOS9适配系列教程

    在Swift编程语言中,iOS9适配是一个重要的主题,因为每个新版本的iOS都会引入新的特性和API,同时也可能对现有代码产生影响。本系列教程将深入探讨如何确保你的应用在iOS9上运行良好,充分利用新功能,并处理任何...

    iOS 9 by Tutorials Code3.zip

    通过学习这个压缩包中的内容,开发者不仅可以提升iOS 9应用开发技能,还能了解到苹果对用户体验、安全性和性能的最新要求,从而打造更加优质和合规的应用。同时,这也将有助于开发者准备Apple的iOS Developer ...

    tencentyun#intlcloud-documents#苹果 ATS 特性服务器配置指南_intl_zh1

    - 需要配置符合 PFS 规范的加密套餐,目前推荐配置:- 需要在服务端 TLS 协议中启用 TLS1.2,目前推荐配置:Nginx 证书配置更新 Nginx

    适配HTTPS1

    从iOS 9开始,ATS默认启用,它会要求所有的网络连接都必须使用HTTPS,以防止敏感信息在不安全的HTTP协议下被窃取。 标题提到的“适配HTTPS1”是指在iOS应用中实现对HTTPS的支持,并满足ATS的要求。以下是一些关键的...

    Ionic IOS9 解除HTTP访问限制

    在iOS 9及更高版本中,Apple引入了一项名为App Transport Security (ATS)的安全特性,旨在强制应用使用加密的HTTPS连接来保护用户数据。对于使用Ionic框架开发的iOS应用程序,这可能会导致HTTP请求被阻止,因为默认...

    jsonkit 支持ios9 ,完美解决 ios9 奔溃问题

    在 iOS 9 中,Apple 引入了一些新的安全特性,比如 App Transport Security (ATS),它强制要求所有网络请求使用 HTTPS 协议,以提高应用的数据安全性。这对于未正确配置的 HTTP 请求会导致连接失败,从而可能引发...

Global site tag (gtag.js) - Google Analytics