у нас есть веб-сайт 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>