Назад | Перейти на главную страницу

размещение 2 веб-приложений под 1 apache / tomcat

Я пытаюсь принять несколько веб-приложений под tomcat 6 за apache2 через mod_jk.

Я в своем уме, чтобы кончить этим. проблема, с которой я сталкиваюсь, что оба домена, похоже, указывают на один домен tomcat.

мой server.xml выглядит так:

<Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               URIEncoding="UTF-8"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="example.com">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <Host name="example.com"  appBase="webapps-example"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>

      <Host name="example.com"  appBase="webapps-example.com"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>     
    </Engine>
  </Service>

мой worker.properties выглядит так:

worker.list=example,example2

worker.example.port=8009
worker.example.host=example.com
worker.example.type=ajp13

worker.example2.port=8010
worker.example2.host=example2.com
worker.example2.type=ajp13

наконец, мои apache vhosts выглядят так:

<VirtualHost 10.160.211.7:80>
    ServerName example.com
    DocumentRoot /srv/www/example.com/public_html/
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    JkMount  /* example
</VirtualHost>

и

<VirtualHost 10.160.211.7:80>
    ServerName example2.com
    DocumentRoot /srv/www/example.com/public_html/
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    JkMount  /* example2
</VirtualHost>

когда я вхожу в менеджер webapp как на example.com, так и на example2.com, я могу выполнить развертывание по контекстному пути в примере, и тот же контекстный путь появится в example2, поэтому я точно знаю, что это тот же домен tomcat.

изменить: только что нашел это в моем журнале mod_jk

[Sun Feb 20 21:15:43 2011] [28546:3075521168] [warn] map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri must start with /
[Sun Feb 20 21:16:44 2011] [28548:3075521168] [info] ajp_send_request::jk_ajp_common.c (1496): (example) all endpoints are disconnected, detected by connect check (1), cping (0), send (0)

но не уверен, почему пример не отвечает

пожалуйста, помогите брату

я был идиотом. В итоге я отключил apache и подключился к 8080 на обоих доменах. проблема не исчезла, поэтому я знал, что это не проблема с mod_jk или apache.

проблема заключалась в том, что я обращался к обоим доменам как www.domain, но я не использовал псевдонимы этих поддоменов в tomcat