У меня есть сервер Tomcat с приложением webapps / ROOT, запущенным Apache.
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
и
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
Мне нужно добавить второе веб-приложение в эту коробку, поэтому я распаковал его в webapps / pib.war / и изменил конфигурацию Apache:
ProxyPass /pib http://localhost:8009/pib
ProxyPassReverse /pib http://localhost:8009/pib
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
Мой tomcat / conf / server.xml содержит:
<Service name="Catalina">
<Connector port="8009" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase" />
<Host name="localhost" appBase="webapps" />
</Engine>
</Service>
У меня есть только один файл context.xml - его нет в веб-приложениях - в файле conf / context.xml
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
Когда я посещаю https://myserver/, тогда существующее приложение ROOT по умолчанию работает в обычном режиме, но https://myserver/pib/ выдает в catalina.out:
org.apache.jk.common.MsgAjp processHeader
SEVERE: BAD packet signature 18245
, что предлагают intertubes, означает, что я говорю HTTP с соединителем AJP вместо AJP, но первое веб-приложение работает правильно.
Что мне не хватает? Я видел упоминание о файлах context.xml под каждым веб-приложением, но я не уверен, что они для или что в них вставить.
Я обычно не использую AJP, но этот ящик уже работает таким образом, поэтому я немного растерялся.
Спасибо