Пока tomcat6 запускается, все мои HTTP-запросы сохраняются на сервере и отправляют ответ, когда сервер работает.
Но когда я использую apache2 в качестве прокси, apache2 немедленно отвечает на ошибку 503 при запуске tomcat. Как я могу предотвратить это поведение прокси-сервера apache по умолчанию?
Моя конфигурация виртуального хоста apache выглядит так:
<VirtualHost 0.0.0.0:[PORT]>
ProxyPreserveHost On
ProxyVia full
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPass /[PATH] http://localhost:8080/[PATH2]
ProxyPassReverse /[PATH] http://localhost:8080/[PATH2]
</VirtualHost>
У меня есть возможное решение, но оно меня не на 100% устраивает. Кажется, это работает с httpd версии 2.2.22.
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://localhost:8080
</Proxy>
ProxyPass / balancer://mycluster/ maxattempts=1000
ProxyPassReverse / balancher://mycluster/
Параметр балансира maxattempts
устанавливает количество попыток, которые балансировщик будет использовать при циклическом переключении между участниками балансировщика и отправке им запросов, пока они терпят неудачу. Я бы предпочел решение с тайм-аутом, но я не нашел ничего, что работало бы, кроме maxattempts
.