错误 502 - 随机 SSL 库错误:336151568 错误:14094410

错误 502 - 随机 SSL 库错误:336151568 错误:14094410

我的网络服务器遇到了随机 502 错误。

速度:0.5%

我的日志中有错误:SSL 库错误:336151568 错误:14094410:SSL 例程:SSL3_READ_BYTES:sslv3 警报握手失败

OpenSSL 版本: OpenSSL 1.0.0-fips 2010 年 3 月 29 日

网络 我无法发布图像,因此这里是我的网络方案的链接: https://i.stack.imgur.com/oOOnL.jpg 和另一个托管商的同一张图片:http://s28.postimg.org/q9012t8l7/error502.jpg

一些细节

我在 tomcat 7.0.37 上托管 JEE 应用程序

当有人尝试连接其中一个应用程序时,他会连接到我路由器的外部 IP。路由器会将他重定向到我的 DMZ。

DMZ 上的 Apache 配置

<VirtualHost *:443>
  ServerName www.myapp.fr
  ServerAlias myapp.fr
  RedirectMatch ^/$ /CRA
  ProxyRequests Off

  SSLEngine on
  SSLProxyEngine on
  SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem


  ProxyPass / https://myapp.fr/
  ProxyPassReverse / https://myapp.fr/

      LogLevel info
     CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
     ErrorLog  "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>

Myapp.fr 在 /etc/hosts 中定义为 192.168.1.51,即网络服务器的 IP

DMZ 使用 ProxyPass 连接到这个 Web 服务器。这个 Web 服务器用于通过 ProxyPass 连接到真正的应用服务器。

Web 服务器上的 Apache 配置

    <VirtualHost *:443>
    ServerName myapp.fr
    RedirectMatch ^/$ https://myapp.fr/Collaborateurs/
         ProxyRequests Off
    SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem
     SSLProxyEngine On
    SSLEngine on

    ProxyPass /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/
    ProxyPassReverse /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/

     LogLevel info
        CustomLog "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
        ErrorLog  "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>

问题就在这里。有时我的日志中会出现一个随机错误,对应于用户的网关错误 (502)。

来自 /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log 的日志

[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] Initial (No.1) HTTPS request received for child 11 (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] SSL Proxy connect failed
[Mon Dec 23 08:58:31 2013] [info] SSL Library Error: 336151568 error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection closed to child 0 with abortive shutdown (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [error] (502)Unknown error 502: proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.domain.lan)
[Mon Dec 23 08:58:31 2013] [error] proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.red.lan) from 10.0.0.2 ()

当没有发生任何错误时,以下是相同的日志:

[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 8 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 0 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 09:08:31 2013] [info] Initial (No.1) HTTPS request received for child 3 (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] Seeding PRNG with 136 bytes of entropy

我不明白为什么会发生此错误。有人知道吗?感谢您的最终指导 - 抱歉我的英语不好 :D

答案1

SSL 代理连接失败意味着在 SSL 握手完成之前,您的 Web 服务器和应用服务器之间发生了某种网络错误。如果不从您的网络获取数据包跟踪(以及许多其他信息),几乎不可能找出 TCP 连接失败的确切原因。不过,我会在发生错误时寻找网络拥塞或应用服务器上的非常高的负载。

答案2

Hyper-V 集成存在以下问题:

将代理服务器上的 Linux 集成组件从 3.4 更新到 3.5 解决了这个问题。

相关内容