Apache 从外部地址连接时返回 SSL23_GET_SERVER_HELLO:未知协议错误

Apache 从外部地址连接时返回 SSL23_GET_SERVER_HELLO:未知协议错误

我有以下设置:

  • 在 CentOS 5.5 上运行的 Apache 服务器。在本地,它使用 SSL 连接正常。

  • 我的服务器和外部网络之间的代理。我无法控制此代理。它将端口转发到我服务器上的 https 端口。

  • CNAME 记录将我想要的服务器的外部 DNS 名称映射到代理。

在本地,一切正常。但是,当使用代理、使用 CNAME 或直接使用 IP 地址进行连接时,我收到以下错误:

SSL Error: SSL_write 23995: 1 - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

我甚至不知道如何正确调试这个问题。

答案1

它很可能是服务器证书所链接到的中间证书。使用 curl 或 openssl 而不是浏览器进行测试,因为浏览器现在不仅在其受信任的存储中包含根证书,而且还包含中间证书,这使得使用浏览器进行测试不可靠。

大多数情况下,此错误是由于 apache 未将中间证书发送回客户端(仅发送服务器证书)而导致的。客户端上的根证书链接到中间证书,而不是服务器证书。中间证书链接到服务器证书。

相关内容