AVPlayer URL 与 ATS 的 https 连接被阻止的明文 HTTP

AVPlayer URL https connection with ATS blocked cleartext HTTP

大家好, 我正在尝试通过 HTTPS 连接到远程流媒体服务器,但控制台一直告诉我 ATS 阻止了明文 HTTP。

由于远程服务器是第三方服务器,我用OpenSSL连接后看到了这个信息:

我玩过 plist 并尝试了不同的方法,但仍然无法连接(如果我绕过 ATS,URL 会完美地打开流)。

这是我的实际配置:

我有什么错误的建议吗?

先谢谢你了。

法布里齐奥

尝试删除所有配置并保持 NSExceptionRequiresForwardSecrecyNO
根据 Apple 文档,此处支持密码

The connection must use either the AES-128 or AES-256 symmetric cipher. The negotiated TLS connection cipher suite must support perfect forward secrecy (PFS) through Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) key exchange, and must be one of the following: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

您可以在此处找到更多详细信息ATS Configuration Basics

如果这对您不起作用,您应该 检查您的服务器是否将您的请求重定向到另一个 url。

如果您正在播放 Fairplay 流,请尝试打印 yourPlayerItem.errorLog() 您将看到您的流密钥服务器 url 是否被 ATS 阻止。在这种情况下,您必须添加合适的例外。

希望这对你有帮助,这正是我为解决同样的问题所做的。