ATSに問題があります。 私はXCode 9.1を使用しています。開発ターゲットは11.0です。 私が反応し、ネイティブの0.49App TransportセキュリティブロックHTTPS
を使用して開発しています私のプログラムは、証明書の有効letsencrypt(グーグルクローム)を持つHTTPS(https://www.xxxx.com)リソースへのフェッチを行っています。 フェッチは、NSAllowsArbitraryLoadsがtrueに設定されている場合のみ動作し、falseに設定されている場合、フェッチはブロックされます(デバッグ出力されます)?
一時ドメイン(https://xxxx.no-ip.org)を使用していくつかのテストを行っています。このドメインには、有効な暗号化証明書もあります。この場合、すべて正常に動作します。
私は両方のホストの間で見ることができる唯一の違いは、テストドメインが単一のドメインホストであり、本番ホストがマルチドメインホストであるということです。 誰か提案はありますか?
よろしく、
ハリー
デバッグアウト: CFNetworkは診断[1:1187] 12:38:08.258 { なかった失敗:(ヌル) ローダー:{ URL = https:// .... Error Domain = kCFErrorDomainCFNetwork Code = -1200 "(null)" UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0、_kCFNetworkCFStreamSSLErrorOriginalValue = -9802、_kCFStreamErrorDomainKey = 3、 _kCFStreamErrorCodeKey = -9802}
これは私ののInfo.plistセクション
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>xxxx.no-ip.org</key>
<dict/>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>xxxx.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
</dict> </dict> </dict>
( 'https:// www.xxxx.com')の証明書が有効であることをどのように知っていますか? Letsencryptは* .example.comのcertsを発行しません - あなたはxxxx.comだけでなく、www.xxxx.comのものであると確信していますか? –
ChromeとSafariでURLを開きました –