Год назад у меня была точно такая же проблема с клиентом J2ME, разговаривающим с бэкэндом Python / Ruby. Единственное найденное мной решение, которое не требует изменения уровня приложения или инфраструктуры, - это использование относительно неизвестной функции mod_proxy.
Mod_proxy имеет возможность буферизовать входящие (чанкованные) запросы, а затем перезаписывать их как один запрос с заголовком Content-Length перед передачей их прокси-серверу. Уловка в том, что вы можете создать крошечную конфигурацию прокси, которая передает запрос обратно на тот же сервер Apache. Т.е. принять входящий запрос на порцию 80, «разгрузить» его, а затем передать на сервер, не совместимый с HTTP 1.1, на порт 81.
Я использовал эту конфигурацию в производстве чуть более года без проблем. Это выглядит примерно так:
ProxyRequests Off
<Proxy http://example.com:81>
Order deny,allow
Allow from all
</Proxy>
<VirtualHost *:80>
SetEnv proxy-sendcl 1
ProxyPass / http://example.com:81/
ProxyPassReverse / http://example.com:81/
ProxyPreserveHost On
ProxyVia Full
<Directory proxy:*>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Listen 81
<VirtualHost *:81>
ServerName example.com
# Your Python application configuration goes here
</VirtualHost>
Я также получил полное описание проблемы, и мое решение подробно описано в моем блоге .