这个问题Android 错误跟踪器似乎表明 SNI 已经成为 Android 操作系统的一部分有一段时间了,所以我很惊讶地发现,当使用内置浏览器访问启用 CloudFlare Flexible-SSL 的网站时,Facebook Android 应用程序会发出安全警告。如果我切换到外部 Chrome 浏览器,那就没问题了。如果我使用 Chrome 或普通浏览器,也没问题。iOS 上 Facebook 的相同页面/网站 - 没有问题。
有没有其他人在使用 CloudFlare Flexible-SSL(利用 SNI)时遇到过这种情况,特别是在 Android 上的 Facebook 上?
答案1
HttpsURLConnection 暂时支持 SNI。但如果你要做更高级的事情,你可能正在使用 Apache HTTPClient 库,而 Android SDK 只包含不支持 SNI 的旧版本。要使用 SNI,你必须意识到这一点,然后你就可以绕过这个限制,请参阅http://blog.dev001.net/post/67082904181/android-using-sni-and-tlsv1-2-with-apache。