Как мне использовать некоторые шаблоны путей из DocumentRoot, а другие — из modjk?

StackOverflow https://stackoverflow.com/questions/1064359

  •  21-08-2019
  •  | 
  •  

Вопрос

У нас уже есть ситуация, когда Apache 2.0 HTTPD выступает в качестве балансировщика нагрузки для кластера серверных котов, используя mod_jk 1.2 для связи между ними.Сами приложения хранятся на серверах tomcat, поэтому все запросы (даже изображения, CSS и т. д.) передаются tomcat с использованием следующего в конфигурациях виртуального хоста:

JkMount /* worker-name

На виртуальных хостах не определен DocumentRoot, поскольку весь трафик передается по каналу tomcat.

Мы хотели бы начать предоставлять статический контент напрямую из Apache (я знаю, радикальная идея).Учитывая структуру пути нашего приложения, единственный способ отличить статический контент от динамического — это расширение файла запрошенного пути.Так, например, все запросы, заканчивающиеся на .jpg, .css, .ico и т. д., не будут передаваться через JkMount, а будут обслуживаться из DocumentRoot.

Таков контекст.Мой вопрос: как я могу настроить vhost так, чтобы все запросы, соответствующие заданному шаблону (в частности, моему шаблону того, что мы хотим получать от Apache), обслуживались из DocumentRoot, а все остальные передавались tomcat?

Можно ли это сделать с помощью регулярного выражения в JkMount?Является JkMount такой гибкий?Если нет, могу ли я использовать mod_rewrite?

Это было полезно?

Решение

Вы можете использовать JkUnMount, чтобы указать, что определенные запросы не обрабатываются mod_jk.Я видел примеры использования расширений файлов и путей:

JkMount /* worker-name
JkUnMount /*.jpg worker-name
JkUnMount /images/* worker-name

Видеть здесь Чтобы получить больше информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top