测试URL是否需要SNI

Dom*_*ger 4 ssl sni

我有一个通过HTTPS 提供的网站,但iTunes无法找到.我怀疑它与iTunes后端服务器是Java 6有关,而Java 6则不支持SNI.SSL实验室似乎暗示我的网站确实需要SNI(请参阅此报告,并搜索SNI),但我想不出原因.我误解了多域证书吗?我有多个站点在同一台服务器上运行,但我的理解是,只要所有的URL都在证书上列为主题备用名称,那一切都会很好.

有没有人知道检查URL是否需要客户端上的SNI支持来访问它的好方法?我没有安装Windows XP/Java 6,可悲地玩.

Ste*_*ich 6

SSLLabs关于SNI的报告通常是正确的.如果您的证书包含所有可能的主机,您的理解是不需要SNI也是正确的.但是,理论上不需要并不意味着您的服务器设置无论如何都不需要SNI.

我没有安装Windows XP/Java 6,可悲地玩.

鉴于您只指定了您没有的东西,我将假设您拥有可能使用的所有其他内容.一个简单的检查方法是openssl:

 # without SNI
 $ openssl s_client -connect host:port 

 # use SNI
 $ openssl s_client -connect host:port -servername host
Run Code Online (Sandbox Code Playgroud)

比较两个调用的输出openssl s_client.如果他们所服务的证书不同,或者如果没有SNI的呼叫无法建立SSL连接,则需要SNI才能获得正确的证书或建立SSL连接.