Ajp-разъем Tomcat с несколькими веб-приложениями - PullRequest
3 голосов
/ 30 сентября 2011

У меня есть сервер 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, но этот ящик уже работает таким образом, поэтому я немного растерялся.

Спасибо

...