Apache 2.4.10 Debian Jessie,ProxyPass 随机故障,AH01084 和 AH01097

Apache 2.4.10 Debian Jessie,ProxyPass 随机故障,AH01084 和 AH01097

我在 Android 系统上的 Debian chroot 系统上使用 Apache 2.4.10 来启用不支持 SSL 的旧版 Android Java 网络服务器的 https。绝大多数功能在代理下都能正常运行,但任何上传或向网络服务器发送文件的请求都会在超过一半的时间内随机失败。使用相同数据反复按下发布按钮最终会成功。Android 系统采用 armhf 架构。

出现此问题时,它会向客户端发送 502。在 Java 服务器上,它接收请求,但未收到任何表单参数。当它失败时,它会将以下错误发布到文件。每次搜索此错误都会在后端而不是仅在前端返回 https。

[Thu Nov 12 21:18:22.497590 2015] [proxy:error] [pid 6243:tid 1963979824] (104)Connection reset by peer: [client ###.###.###.###:52915] AH01084: pass request body failed to [::1]:8080 (::1), referer: 
[Thu Nov 12 21:18:22.497860 2015] [proxy_http:error] [pid 6243:tid 1963979824] [client ###.###.###.###:52915] AH01097: pass request body failed to [::1]:8080 (::1) from ###.###.###.### (), referer: 

apache 的 ssl 配置的相关部分如下

    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    WSGIDaemonProcess testssl.example.com user=www-data group=www-data processes=2 threads=25
    WSGIProcessGroup testssl.example.com
    Alias /static /var/www/static/
    WSGIScriptAlias / /var/lib/django/testweb/apache/django.wsgi
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    ProxyPass /provue/ http://[::1]:8080/ timeout=600 retry=0
    ProxyPassReverse /provue/ http://[::1]:8080/
    ProxyPreserveHost On

我尝试过在代理传递上使用 keepalive,也尝试过不使用。我还删除并尝试了许多 SSL 选项的组合。似乎没有什么可以消除这个问题。

所有这些都使用标准的 debian snakeoil ssl 证书进行测试。

我还没有在网上看到过这种特殊的错误以这种方式发生,所以我不完全确定它与其他人有多大关系,但它确实发生了,而且似乎很难解决。

使用 http 连接到同一台服务器,每次都运行正常,只有使用 https 时才会失败。

我在 Ubuntu 14.04 服务器上设置了另一台服务器,apache 2.4.7,并将其代理传递到 :8080 服务器的 ipv4 地址,并且每次通过 https 都能完美运行。此系统运行的是 x86-64 而不是 armhf。

x86-64 上装有 Apache 2.4.10 的 debian VM 也可以代理到系统并通过 https 运行上传,没有任何错误。看来这可能是 armhf 版本的问题?会做更多实验。

相关内容