Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SSL握手时nginx严重错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在Ubuntu 14.04 LTS上我的Nginx有问题.我不时会收到一个严重的错误:

2015/01/18 12:59:44 [crit] 1065#0: *28289 SSL_do_handshake() Failed (SSL: error:140A1175:SSL routInes:SSL_BYTES_TO_CIPHER_LIST:inappropriate fallBACk) while SSL handshaking,client: 10.0.2.2,server: 0.0.0.0:443
@H_@R_675_11241@_6@

我查看了我的OpenSSL版本:

root@www:~# ldd `which Nginx` | grep ssl
        libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f39e236b000)

root@www:~# Strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL "
OpenSSL 1.0.1f 6 Jan 2014
@H_@R_675_11241@_6@

我搜索了有关它的更多信息,发现它可能与旧版OpenSSL有关.所以我试着编译最新版本:

wget https://www.openssl.org/source/openssl-1.0.1l.tar.gz && tar xzf && cd openssl-1.0.1l

./config && make && make install
@H_@R_675_11241@_6@

我还通过符号链接替换了新的OpenSSL二进制文件:

ln -sf /usr/local/ssl/bin/openssl `which openssl`
@H_@R_675_11241@_6@

之后我有:

root@www:~# openssl version
OpenSSL 1.0.1l 15 Jan 2015
@H_@R_675_11241@_6@

但我仍然在Nginx中使用旧版本:

root@www:~# Strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL "
OpenSSL 1.0.1f 6 Jan 2014
@H_@R_675_11241@_6@

在更新OpenSSL后,我在Ubuntu中找不到任何其他新的libssl.如何更新libssl以便Nginx可以使用最新版本?

P.s.1.也许关键错误的问题与OpenSSL的版本无关.

P.s.2.我认为这个crtitical错误可能会影响我的整个虚拟机.我还遇到了“不时”崩溃VM的问题.

我尝试了很多东西,现在我无望了. Stackoverflow请帮忙!

最佳答案
@H_403_61@

…BYTES_TO_CIPHER_LIST:inappropriate fallBACk) while SSL handshaking,server: 0.0.0.0:443

这看起来像有人检查服务器是否支持TLS_falLBACK_SCSV,它在您的情况下.没什么好担心的.相反,这意味着您的服务器支持有用的安全功能.有关TLS_falLBACK_SCSV的更多信息以及如何以这种方式检测SSL降级攻击(如POODLE),您可以查看http://www.exploresecurity.com/poodle-and-the-tls_fallBACk_scsv-remedy/.

TLS_falLBACK_SCSV是一个相当新的选项,旨在检测SSL降级攻击.它需要客户端和服务器上的支持.较旧的Nginx / OpenSSL和较旧的浏览器根本没有此选项,因此无法检测到此问题,因此未在早期版本中记录.此消息至关重要,因为它可能表示针对客户端的实际SSL降级攻击尝试被此选项击败.在实践中,它可能是一些探测选项支持的工具,如SSLLabs.

供ssl / ssl_lib.c函数ssl_bytes_to_cipher_list中的相关代码参

/* check for TLS_falLBACK_SCSV */
if ((n != 3 || !p[0]) &&
        (p[n-2] == ((SSL3_CK_falLBACK_SCSV >> 8) & 0xff)) &&
        (p[n-1] == (SSL3_CK_falLBACK_SCSV & 0xff)))
        {
        /* The SCSV inDicates that the client prevIoUsly tried a higher version.
         * Fail if the current version is an unexpected downgrade. */
        if (!SSL_ctrl(s,SSL_CTRL_checK_PROTO_VERSION,NULL))
                {
                SSLerr(SSL_F_SSL_BYTES_TO_CIPHER_LIST,SSL_R_INAPPROPRIATE_falLBACK);
                if (s->s3)
                        ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_INAPPROPRIATE_falLBACK);
                goto err;
                }
        p += n;
        conTinue;
        }
@H_@R_675_11241@_6@

大佬总结

以上是大佬教程为你收集整理的SSL握手时nginx严重错误全部内容,希望文章能够帮你解决SSL握手时nginx严重错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: