某些Android设备上的SSL出现SNI错误

我收到一个SNI错误:

Hostname X provided via SNI, but no hostname provided in HTTP request 

在某些Android手机上向我的网域发送SSL请求时。 这是尽pipe确保主机头设置在客户端上。

我也试过设置:

 SSLStrictSNIVHostCheck off 

在我的Apache的conf,但我仍然看到这个错误。 有人能指点我吗?

根据这个报告https://code.google.com/p/android/issues/detail?id=35050你的问题也可能是由于libcore / luni / src / main / java / libcore /净/ HTTP / HttpConnection.java。

由于这个bug,TLS层的SNI是代理的主机名,而不是实际上应该在HTTP请求URL中提供的主机名。

因此,任何使用Android版本<4.1.2(2012年7月20日修复)的应用程序的HttpConnection实现可能会导致此行为。