Назад | Перейти на главную страницу

прокси выдает ошибку 502 при загрузке файлов на серверную часть tomcat

Итак, у меня на сервере Debian установлен apache 2.2.16 (64 бит). Я настроил прокси-сервер для определенного URL-адреса, который будет отображаться на моем внутреннем сервере Tomcat 7.

Все работает нормально для всех запросов GET / POST, кроме многостраничных запросов POST. Журнал ошибок apache показывает следующие строки:

[error] [client CLIENT_IP] (20014)Internal error: proxy: error reading status line from remote server TOMCAT_IP:8081
[error] [client CLIENT_IP] proxy: Error reading from remote server returned by /svc/document

Странно то, что POST multipart работает нормально, если я загружаю файл ZERO Kb, но не работает с другими файлами (не более нескольких байтов). И все, включая загрузки, отлично работает в моей среде разработки (XAMPP + mod_proxy + tomcat)

Разъем Tomcat 7:

<Connector port="8081" protocol="HTTP/1.1" address="TOMCAT_IP" maxThreads="6000"
               connectionTimeout="40000" URIEncoding="UTF-8" maxPostSize="8388608" 
               redirectPort="8443" />

Прокси настраивается следующим образом:

<VirtualHost *:80>
      DocumentRoot /var/www/frontend/
      ServerName frontend.com

      ProxyPass /svc/ http://[TOMCAT_IP]:8081/web/ connectiontimeout=40 timeout=60 Keepalive=On min=20 acquire=20 retry=1
 </VirtualHost>

Я даже попробовал несколько предложений, одно за другим, и все сразу, как нашел по аналогичному вопросу, но безуспешно:

<VirtualHost *:80>
  DocumentRoot /var/www/frontend/
  ServerName frontend.com

  ProxyPass /svc/ http://[TOMCAT_IP]:8081/web/ connectiontimeout=40 timeout=60 Keepalive=On min=20 acquire=20 retry=1

  ProxyBadHeader Ignore
  ProxyRequests Off
  LimitRequestBody 8388608
  SetEnv proxy-sendchunked 1
</VirtualHost>

Я пробовал ProxyPassReverse, поднять тайм-аут, ProxyBadHeader Ignore, setenv proxy-initial-not-pooled 1 и т. Д. Ничего не работает ... Есть идеи?

Итак, для любого любопытства и на будущее:

Никакой проблемы не было ни на стороне Tomcat, ни на стороне прокси. Проблема заключалась в использовании промежуточной сети. Кажется, что у одного коммутатора / маршрутизатора не было настроено MTU (не уверен, что это такое, так сказал сетевой специалист), поэтому канал связи будет тормозить, если согласование пакета / кадра не удастся для пакетов размером более нескольких сотен байтов.