Java 错误:140770FC:SSL例程:SSL23\u获取\u服务器\u你好:未知协议
我目前正尝试在Cloudera Hadoop环境中测试实现的更改,以实现加密洗牌的安全性 我已经创建了证书和密钥库,并将它们保存在适当的位置 我正在测试TaskTracker的HTTPS端口50060 当我在那个端口上做卷曲时,我得到的错误响应如下Java 错误:140770FC:SSL例程:SSL23\u获取\u服务器\u你好:未知协议,java,ssl,hadoop,openssl,cloudera,Java,Ssl,Hadoop,Openssl,Cloudera,我目前正尝试在Cloudera Hadoop环境中测试实现的更改,以实现加密洗牌的安全性 我已经创建了证书和密钥库,并将它们保存在适当的位置 我正在测试TaskTracker的HTTPS端口50060 当我在那个端口上做卷曲时,我得到的错误响应如下 ubuntu@node2:~$ curl -v -k "https://10.0.10.90:50060" * About to connect() to 10.0.10.90 port 50060 (#0) * Trying 10.0.10.9
ubuntu@node2:~$ curl -v -k "https://10.0.10.90:50060"
* About to connect() to 10.0.10.90 port 50060 (#0)
* Trying 10.0.10.90... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
* Closing connection #0
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
当我与OpenSSL客户端进行检查时,得到了以下响应
ubuntu@node2:~$ openssl s_client -connect 10.0.10.90:50060
CONNECTED(00000003)
139749924464288:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:749:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 225 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
我不知道是什么导致了这个问题
有什么我遗漏的吗
附:我已经更新了ca certificates.crt
文件,并且将服务器.crt
文件保存在/usr/share/ca certificates/mozilla
错误:140770FC:SSL例程:SSL23\u获取\u服务器\u你好:未知协议
10.0.10.90:50060上似乎没有SSL/TLS服务器在侦听。有一个服务器正在侦听,但它不是SSL/TLS
我可以在通过端口80(而不是443)连接到网关时复制它
$openssl s_客户端-连接192.168.1.1:80
已连接(00000003)
140735109476828:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:s23_clnt.c:787:
---
没有可用的对等证书
---
未发送客户端证书CA名称
---
SSL握手读取7个字节,写入517个字节
---
新建,(无),密码为(无)
不支持安全重新协商
压缩:无
扩展:无
---
如果您使用-debug
标志,您将在OpenSSL试图解释为SSL/TLS协议数据的响应中看到HTTP
:
$openssl s_客户端-连接192.168.1.1:80-调试
已连接(00000003)
写入0x7FBF5842B90[0x7FBF5881800](348字节=>348(0x15C))
0000-16 03 01 01 57 01 00 01-53 03 03 64 1d 01 29 f0…W…S…d…)。
...
0150-03 02 01 02 03 00-0f 00 01 01。。。。。。。。。。。。
从0x7FBF5842B90[0x7fbf58816e00]读取(7字节=>7(0x7))
0000-48 54 50 2f 31 2e HTTP/1。
140735203164636:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:s23_clnt.c:794:
对于有此问题的任何人:
错误:140770FC:SSL例程:SSL23\u GET\u SERVER\u HELLO:未知协议
我的问题是curl默认使用ipv6而不是ipv4。终端服务器未正确配置以响应ipv6,因此观察到相同的问题陈述。确保curl正在使用ipv4或您的服务器可以使用ipv6。我在https上运行Airflow web服务器服务时遇到这种错误。我错误地在属性(key)文件中提到了.key文件路径,而不是启用https的.pem文件路径
更正了.pem文件路径而不是.key文件路径,工作正常。我的apache服务器出现了此问题。访问日志告诉我这样的事情:
my.host.com:80[IPv6\u地址]-[24/Jan/2016:00:29:23+0100]“\x16\x03\x01\x02“400 0”-”
或my.host.com:443[IPv6\u地址]-[24/Jan/2016:00:29:23+0100]“\x16\x03\x01\x02“400 0”-”
,我觉得很奇怪。但答案就在这里:客户端用来连接的IPv6地址。为什么?我不知道。但你的回答给了我最后的提示:没有人在听他们说话。所以这里没有对手。