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 не существует.
Как я могу заставить 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/