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

Apache 2.4 установил ProxyTimeout только для ОДНОГО URL

У меня проблема с прокси 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