【问题标题】:Detecting browser's SNI support检测浏览器的 SNI 支持
【发布时间】:2011-11-13 21:42:23
【问题描述】:

我想知道除了验证用户代理和猜测之外,是否有任何方法可以确定发出 HTTP 请求的浏览器是否支持 SNI。

我会考虑服务器端或客户端选项。

我想做的是为指向同一个 PHP 应用程序的多个域设置 SSL 证书。然后我会尝试找出发出请求的客户端是否支持 SNI,如果支持,则将他重定向到启用 SSL 的版本。

【问题讨论】:

    标签: php javascript ssl sni


    【解决方案1】:

    首先,我们知道目前支持 SNI 的浏览器:

    歌剧 8.0; MSIE 7.0(但仅适用于 Windows Vista 或更高版本); Firefox 2.0 和其他使用 Mozilla Platform rv:1.8.1 的浏览器; Safari 3.2.1(Windows 版本支持 Vista 或更高版本的 SNI); Chrome(Windows 版本也支持 Vista 或更高版本的 SNI)。

    所以一种便宜的方法是确定浏览器,如果它是上述之一,它就有 SNI。

    虽然这不是最佳实践(优先于特征检测),但似乎没有办法避免它,因为 SNI 检测需要 SSL 握手。因此,在您的 SSL 证书失败后做某事为时已晚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2014-10-05
      相关资源
      最近更新 更多