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

Прокси-сервер Apache в IIS иногда вызывает ошибку ProxyError

у нас есть веб-сайт ASP.NET 4, развернутый на двух почти идентичных виртуальных машинах VirtualBox с IIS 7.5. Оба они размещены в одной системе Ubuntu с Apache 2.2.14.

Apache определяет по имени хоста (live.domain.com или staging.domain.com), на какую виртуальную машину отправляется запрос. Он имеет два VirtualHosts с настроенными ProxyPass / ProxyPassReverse и выбирает виртуальную машину по ее IP (виртуальные машины подключаются к хосту виртуальным сетевым адаптером VirtualBox «только для хоста»).

Этот параметр работает нормально, за исключением того, что некоторые запросы не завершаются. Браузер пытается загрузить файл (например, статический JS-файл) ровно в течение 5 минут, когда Apache возвращает 502 Ошибка прокси результат. Журналы Apache говорят, что IIS не ответил вовремя. В журналах IIS запрос даже не появляется.

Есть подсказки, где искать эти случайные ошибки? Апач? Виртуальный сетевой адаптер VirtualBox? IIS?

Выдержка из конфигурации Apache VirtualHost:

ServerName staging.domain.com

ProxyRequests off
ProxyPreserveHost On

<Proxy *>
allow from all
</Proxy>

ProxyPass / http://192.168.56.103/
ProxyPassReverse / http://192.168.56.103/

Мы используем это при проксировании в IIS через Apache:

<Location />
        SetEnv force-proxy-request-1.0 1
        SetEnv proxy-nokeepalive 1
</Location>