Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我们可以使用AFNetworking/NSURLSession支持集SNI并支持HTTP/2吗?_Ios_Https_Afnetworking_Sni - Fatal编程技术网

Ios 我们可以使用AFNetworking/NSURLSession支持集SNI并支持HTTP/2吗?

Ios 我们可以使用AFNetworking/NSURLSession支持集SNI并支持HTTP/2吗?,ios,https,afnetworking,sni,Ios,Https,Afnetworking,Sni,背景介绍: 在楼前支持HTTPS代理服务器,通常证书都会有头疼的问题,根据HTTPS的工作原理,浏览器要访问HTTPS站点,首先要与服务器建立SSL连接,建立到服务器证书的连接请求的第一步。服务器发送证书时,不知道您的浏览器访问的域名是什么,因此无法根据不同的域名发送证书。SNI(服务器名称指示)是解决一个服务器使用多个域名和SSL/TLS证书的问题。其工作原理如下:在连接到服务器建立SSL链接之前发送访问站点的域名(主机名)。根据域名服务器返回一个合适的证书。目前,大多数操作系统和浏览器都很好

背景介绍:

在楼前支持HTTPS代理服务器,通常证书都会有头疼的问题,根据HTTPS的工作原理,浏览器要访问HTTPS站点,首先要与服务器建立SSL连接,建立到服务器证书的连接请求的第一步。服务器发送证书时,不知道您的浏览器访问的域名是什么,因此无法根据不同的域名发送证书。SNI(服务器名称指示)是解决一个服务器使用多个域名和SSL/TLS证书的问题。其工作原理如下:在连接到服务器建立SSL链接之前发送访问站点的域名(主机名)。根据域名服务器返回一个合适的证书。目前,大多数操作系统和浏览器都很好的支持SNI扩展,OpenSSL 0.9.8也有内置的功能。上述过程中,当客户端使用HTTPDNS解析域时,主机的请求URL将被HTTPDNS解析IP替换,以获取服务器到域名的解析IP,找不到匹配的证书,只能返回默认证书或不返回,因此将出现SSL/TLS握手失败错误

条件:

  • 使用AFN网络(客户端)
  • 带有ip地址的URL主机名。例如:
  • 使用多个域名和 证书(服务器)
  • 我想使用一个带有ip地址主机名(例如:)的URL。 为了获得正确的证书,我必须在建立套接字连接之前设置正确的SNI。 iOS系统不提供SNI接口(NSURLConnection/NSURLSession)

    对我的麻烦有什么建议吗