
我收到 SNI 錯誤:
Hostname X provided via SNI, but no hostname provided in HTTP request
在某些 Android 手機上向我的網域發出 SSL 請求時。儘管確保在客戶端上設定了主機標頭,但仍然如此。
我也嘗試過設定:
SSLStrictSNIVHostCheck off
在我的 apache conf 中,但我仍然看到這個錯誤。有人能給我前進的方向嗎?
答案1
根據這份報告https://code.google.com/p/android/issues/detail?id=35050您的問題也可能是由於 Android 實作 libcore/luni/src/main/java/libcore/net/http/HttpConnection.java 中的錯誤所引起的。
由於此錯誤,TLS 層的 SNI 是代理的主機名,而不是 HTTP 請求 URL 中實際提供的主機名稱。
因此,任何使用 Android 版本 < 4.1.2(已於 2012 年 7 月 20 日修復)實現 HttpConnection 的應用程式都可能會導致此行為。