我有自己的服务器(正在运行的服务器Apache/2.4.27
),今天我意识到从(勇敢的和Google Chrome-不同的计算机)我的网站上出现了这个错误;
This site can’t provide a secure connection
mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
而且奇怪的是,我每五次点击我的网站都会收到此错误。
从我的conf文件:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mywebsite/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mywebsite/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/mywebsite/chain.pem
SSLCompression off
来自options-ssl-apache.conf
;
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
我已经检查了网站上的日志文件,但是什么也没有,这里也没有; /var/log/apache2/error.log
我试图找出导致此错误的原因,在哪里可以找到更多信息甚至更好的任何想法,如何解决此问题?
编辑:
如果我尝试openssl s_client -connect mywebsite.com:443
,它将返回:
我在用着: OpenSSL 1.1.0f
CONNECTED(00000003)
...
3073276480:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:../ssl/record/ssl3_record.c:469:
另一个编辑:
正如@quadruplebucky所建议的,我将options-ssl-apache.conf更改为:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
SSLCompression off
#SSLSessionTickets off
我还尝试将其添加SSLProtocol all -SSLv2 -SSLv3
到我的virtualhost conf文件中,同时我在这里做了几处更改。/etc/apache2/mods-available/ssl.conf
#SSLCipherSuite HIGH:!aNULL
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
# The protocols to enable.
# Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all -SSLv2 -SSLv3
编辑:
将LogLevel更改为Info
它后返回:
[Sat Jul 08 13:34:53.374307 2017] [ssl:info] [pid 8710] [client] AH02008: SSL library error 1 in handshake (server mywebsite:443)
[Sat Jul 08 13:34:53.374717 2017] [ssl:info] [pid 8710] SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
[Sat Jul 08 13:34:53.374750 2017] [ssl:info] [pid 8710] [client] AH01998: Connection closed to child 1 with abortive shutdown (server mywebsite:443)
编辑:
如果我使用-crlf选项运行,如下所示:
openssl s_client -crlf -connect mywebsite:443
我没有错误吗?
如果我将LogLevel更改为要调试,则还有一件事,在该错误发生之前,我得到了这一点:
[Tue Jul 11 23:00:38.641568 2017] [core:debug] [pid 26561] protocol.c(1273): [client 188.64.25.162:23165] AH00566: request failed: malformed request line
[Tue Jul 11 23:00:38.641634 2017] [headers:debug] [pid 26561] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()
因此,在此之后将发生相同的错误:
SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
openssl version
OpenSSL 1.1.0f 25 May 2017
ssl3*
和SSL3*
OpenSSL中的内容也用于TLS(1.0到1.2),因为这些协议之间的技术相似。user134969:“长度太短”也绝不应由任何配置引起。如果这是可重复的,请尝试为同一事件获取一个s_client -debug
(使用纯RSA,-cipher
如果您未在服务器上执行此操作)和Wireshark捕获,以便我们查看实际的有线数据并将其与程序看到的进行比较。