3

我有一个 tomcat 服务器,带有一个 webapps/ROOT 应用程序,前面是 Apache。

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

  ProxyPass / ajp://localhost:8009/
  ProxyPassReverse / ajp://localhost:8009/

我需要在此框中添加第二个 webapp,因此我将其解压缩到 webapps/pib.war/ 并更改了 Apache conf:

  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 文件 - webapps 下没有 - 在 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 建议的意思是我正在与 AJP 连接器而不是 AJP 交谈 HTTP,但第一个 web 应用程序工作正常。

我错过了什么?我在每个 webapp 下都看到过 context.xml 文件的提及,但我不确定它们的用途或放入其中的内容。

我通常不使用 AJP,但是这个盒子已经在这样工作了,所以我现在有点迷茫。

谢谢,

4

0 回答 0