У меня проблема с прокси Apache.
Меня попросили открыть соединение между Apache и веб-клиентом, потому что мы работаем над SSE. Проблема в том, что по умолчанию тайм-аут составляет 60 секунд. Я хотел бы значительно увеличить это значение, и я нашел ProxyTimeout
директива, которая хороша, НО она увеличивает время ожидания для ВСЕХ прокси. На моем conf у меня есть несколько прокси ajp, и я бы хотел применить ProxyTimeout
только для / test:
ProxyPass /test ajp://some_ip:8009/some_URL
ProxyPassReverse /test ajp://some_ip:8009/some_url
ProxyPass /test2 ajp://some_ip2:8009/some_url2
ProxyPassReverse /test2 ajp://some_ip2:8009/some_url2
Как это сделать?
До сих пор я тестировал: ConnectionTimeout
и ProxyPass /test ajp://some_ip:8009/some_URL timeout=120
но безрезультатно.
Я даже пытался указать тайм-аут с помощью блока Proxy:
<Proxy "ajp://some_ip:8009/some_url">
Proxyset timeout=10
</Proxy>
но снова не удалось.
Я не знаком с уровнями тайм-аута в Apache (я знаю, что они есть), и мои знания об Apache довольно ограничены.
Спасибо за помощь!
В настоящее время это невозможно, потому что директивы внутри <Proxy>
читаются только во время запуска сервера, а не после каждого запроса.
Надежда может исходить от https://bz.apache.org/bugzilla/show_bug.cgi?id=62422
После введения контекста «Прокси-сервер» должна появиться возможность изменять настройки прокси-сервера в целом (ProxySet
) в соответствии с обслуживаемым запросом (например, его URL среди прочего).
Ваш мод-прокси включен?
Я вижу синтаксис как
<Proxy "http://backend.example.com">
ProxySet connectiontimeout=5 timeout=30
</Proxy>
Источник: документация Apache