jkmount проходит путь монтирования к коту

Я использую

JKMount        /rest/*    ajp13_worker
JKMount        /rest      ajp13_worker

обслуживать php на domain.com, а мои сервлеты на domain.com/rest/.
Однако, когда я захожу на domain.com/rest/, он действует так, как будто я зашел на domain.com/rest/rest, поэтому tomcat думает, что я перешел на / rest на tomcat, но я хочу, чтобы tomcat подумал, что я в корне каталог. Так что я получаю 404 ошибку, потому что /rest/ obiously не существует. Ошибка 404

Как я могу заставить tomcat думать, что я в корне?
Спасибо,
Никлас Б.

1 ответ

Нет, конфиг ajp делает именно то, для чего предназначен.

Когда вы сопоставляете запросы с JkMount фильтр AJP хранит весь путь запроса. Поэтому, когда вы печатаете yourdomain.com/rest или же yourdomain.com/rest/your_resourceАджп проходит /rest или же /rest/your_resource Tomcat.

Таким образом, проще использовать контекстный путь приложения Tomcat, как в отображениях Apache и AJP. В этом случае должно быть проще иметь приложение Tomcat в контексте с именем '/rest'.

Но когда у вас есть другая ситуация, есть другие подходы, как, например, mod_proxy или же mod_proxy_ajp, Оба они действуют как обратный прокси, отображающий контекстный путь /rest для tomcat, но дает вам возможность изменить путь запроса запроса во время перенаправления его в Tomcat. Разница между mod_proxy и mod_proxy_ajp заключается в том, что первый использует http-порт Tomcat, а второй - порт ajp.

Отображения должны работать следующим образом:

ProxyPass /rest http://dns.ajp13_worker:8080/
ProxyPass /rest ajp://dns.ajp13_worker:8009/
Другие вопросы по тегам