Я использую Apache 2.4.10 в системе Chroot Debian в системе Android, чтобы https включить устаревший веб-сервер Android Java, который не поддерживает SSL. Подавляющее большинство функций корректно работают под прокси, но любой запрос, который загружает или отправляет файл на веб-сервер, не выполняется случайным образом более чем в половине случаев. Повторные нажатия кнопки публикации с теми же данными в конечном итоге будут успешными. Система 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:
Соответствующий бит конфигурации для ssl apache выглядит следующим образом
<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. Кажется, ничто не устраняет проблему.
Все это тестируется со стандартным ssl-сертификатом debian snakeoil.
Я не видел, чтобы эта конкретная ошибка возникала таким образом в Интернете, поэтому я не совсем уверен, насколько она актуальна для других, но она возникает и кажется трудной для решения.
Используя http на один и тот же сервер, все работает отлично каждый раз, не удается только https.
Я установил другой сервер на сервере Ubuntu 14.04, apache 2.4.7, и прокси передал его на адрес ipv4 сервера: 8080, и он каждый раз отлично работает через https. Эта система работает под управлением x86-64, а не armhf.
Виртуальная машина debian на x86-64 с Apache 2.4.10 также может подключаться к системе через прокси-сервер и запускать эту загрузку без каких-либо ошибок через https. Похоже, это может быть проблема с версией armhf? Буду делать больше экспериментов.