[实践OK]解决FF34.0.5,Chrome41 无法打开网址出现ERR_SSL_VERSION_OR_CIPHER_MISMATC错的解决办法。

jackxiang 2016-2-24 15:38 | |
背景:个人博客因为升级chrome浏览器遇到的问题:配置nginx服务器完成后测试,360se,极速浏览器可以访问,但是FF,chrome不能,还好IE可以。
——————————————————————————————————————————————————————————————————————————
chrome版本40以上不支持SSLv3的解决办法:
今天接到业务反馈问题。
用chrome浏览器打不开我们的https网页。
原因是chrome版本号40以上的版本不支持SSLv3,我们需要在nginx的vhost里修改一下:

修改为:
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
然后重起nginx
来自:http://blog.sina.com.cn/s/blog_5425edf40102vl8i.html
来自:http://blog.sina.com.cn/s/blog_5425edf40102vl8f.html
====================================================
实践如下,对里面的SSLv3去掉,再就是之前是MEDIUM,后在startssl升级为高级后也得修改为HIGH,:
server {
        listen       443 ssl;
        ssl on;
        ssl_certificate     ssl/justwinit.crt;
        ssl_certificate_key ssl/justwinit.key;
        #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2 SSLv3;
        #ssl_ciphers         MEDIUM:!aNULL:!MD5;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!MD5;  
————————————————————————————————————————————————
加上SSLv3也可以,实践发现出现ERR_SSL_VERSION_OR_CIPHER_MISMATC错的根本原因是因为:
ssl_ciphers         MEDIUM:!aNULL:!MD5;  ==》 ssl_ciphers HIGH:!aNULL:!MD5;导致没有对上号。
server {
        listen       443 ssl;
        ssl on;
        ssl_certificate     ssl/justwinit.crt;
        ssl_certificate_key ssl/justwinit.key;
        #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2 SSLv3;
        #ssl_ciphers         MEDIUM:!aNULL:!MD5;
        #ssl_protocols   TLSv1 TLSv1.1 TLSv1.2;                                                                                                              
        ssl_protocols   TLSv1 TLSv1.1 TLSv1.2 SSLv3;
        ssl_ciphers HIGH:!aNULL:!MD5;
====================================================
目前还未解决:
FF报错:连接 ****.cn 时发生错误。 无法安全地与对等端通信:没有双方共用的加密算法。 (错误码: ssl_error_no_cypher_overlap)

Chrome报错:A secure connection cannot be established because this site uses an unsupported protocol.
错误代码:ERR_SSL_VERSION_OR_CIPHER_MISMATCH



经同事帮忙查明原因,赶紧记录下:

在服务器/usr/local/nginx/conf/include/下的lvs 配置 lvscheck.****.net_ssl.conf 中  下面这行导致的,原因是FF,chrome不支持SSLv3。

ssl_protocols SSLv3 ;

参照其他正常的服务器修改为:

ssl_protocols      TLSv1 TLSv1.1 TLSv1.2 SSLv3;
批量替换,我是因为顺序写不一致,注意下顺序:


来自:http://blog.sina.com.cn/s/blog_40e1ba640102vctc.html
Chrome还是不行:
http://www.oschina.net/news/56603/chrome-will-disable-sslv3-support
FF:
查看网页信息,连接加密这一行上会有加密凡是,例如百度就是AES-128,进入about:config中搜索AES就可以了。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/8531/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2016-3-7 10:47
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]