首页 > Web开发 > 详细

Apache使用OpenSSL遇到的问题

时间:2014-10-21 17:38:02      阅读:480      评论:0      收藏:0      [点我收藏+]

一个Android APP使用HTTPs访问两台服务器,结果截然不同。

第一台IP:192.168.22.119
版本:  OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
(Android STB) ==> OK

[21/Oct/2014:13:52:57 +0800] 192.168.3.33 TLSv1 RC4-MD5 "GET /cgi-bin/server_cgi?name=0022f42

第二台IP:192.168.22.129
版本:  OpenSSL 1.0.1e-fips 11 Feb 2013
(Andriod STB) ==> Fail

[21/Oct/2014:03:09:47 +0000] 192.168.3.33 TLSv1 RC4-MD5 "GET /cgi-bin/server_cgi?name=0022f42

Error Log:

 [error] Hostname ABC.upgrade.com provided via SNI and hostname abc.upgrade.com provided via HTTP are different

但是用浏览器正常

(Chrome) ==> OK

[21/Oct/2014:04:06:08 +0000] 192.168.2.7 TLSv1.2 DHE-RSA-AES128-GCM-SHA256 "GET /cgi-bin/server_cgi?name=aaa

(IE 10) ==> OK

[21/Oct/2014:05:56:34 +0000] 192.168.2.2 TLSv1 AES128-SHA "GET /cgi-bin/server_cgi?name=0018050

首先弄明白什么是SNI(Server Name Indication)?
参考 SSL with Virtual Hosts Using SNI
clients在SSL握手的第一个消息中包含的requested hostname, Server根据这个hostname决定正确的named virtual host, 从而可以继续建立连接

要支持SNI
1. 需要OpenSSL 0.9.8f or later
2. The client browser must also support SNI

 

在Apache Bugzilla上有此Bug: SSL module does not do the case insensitive URI comparison
究其原因是比较SNI name 和 Http Name时是case-sensitive

 

More: 不同浏览器TLS版本不同,有V1, V1.2等。所支持的加密算法也不一样。

Apache使用OpenSSL遇到的问题

原文:http://www.cnblogs.com/wangyinhui/p/4040805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!