I had worker.worker1.host=127.0.0.0 when I meant to do worker.worker1.host=127.0.0.1 My buddy Ed pointed it out.
I changed that, and I still get the same error. I can access /hello context directly from Tomcat using localhost:8080/hello or 127.0.0.1/hello <http://127.0.0.0/hello>. I'd like to be able to access it through Apache2 from localhost/hello or 127.0.0.1/hello<http://127.0.0.0/hello>, but I get a 404 and then the above trace message instead. On Thu, Jan 14, 2010 at 2:52 PM, Rick Hightower <richardhighto...@gmail.com>wrote: > I am having some trouble connecting with mod_jk to my Tomcat instance. The > requests seem to be processed by mod_jk but are never forwarded to Tomcat. I > keep getting this trace message from mod_jk.log file "missing uri map for > 127.0.0.1:/hello". > > (see formatted config listings at > http://www.jroller.com/RickHigh/entry/problem_configuring_mod_jk_apache) > > > I can access /hello context directly from Tomcat using localhost:8080/hello > or 127.0.0.0/hello. I'd like to be able to access it through Apache2 from > localhost/hello or 127.0.0.0/hello, but I get a 404 and then the above > trace message instead. > > I get no errors in the Apache error.log or Tomcat logs or mod_jk.log. I > just get a 404 and when I turn on tracing, I get the above message which > indicates that mod_jk is alive and communicating with Apache, but not > recognizing the URI I mapped for my worker. > > Here are the versions: > > Tomcat 6.0.20, mod_jk 1.2.28, Apache HTTPD 2.2.11, Ubuntu 9.0.9, java > version "1.6.0_16" > > > mod_jk.log log shown as follows: > > csmad...@csm-dev:/etc/apache2$ tail -n 5 -f /var/log/apache2/mod_jk.log > [Thu Jan 14 12:03:47 2010] [27585:3066162064] [debug] > jk_map_to_storage::mod_jk.c (3579): missing uri map for 127.0.0.1: > /examples > [Thu Jan 14 14:15:19 2010] [27584:3066162064] [debug] > jk_translate::mod_jk.c (3419): missing uri map for 127.0.0.1:/hello > [Thu Jan 14 14:15:19 2010] [27584:3066162064] [debug] > jk_map_to_storage::mod_jk.c (3579): missing uri map for 127.0.0.1:/hello > [Thu Jan 14 14:15:19 2010] [27584:3066162064] [debug] > jk_translate::mod_jk.c (3419): missing uri map for 127.0.0.1:/favicon.ico > [Thu Jan 14 14:15:19 2010] [27584:3066162064] [debug] > jk_map_to_storage::mod_jk.c (3579): missing uri map for 127.0.0.1: > /favicon.ico > __________________________________________________________ > > > Included below is server.xml for tomcat, httpd.conf for Apache2, > mod_jk.conf for Apache2, workers.properties for mod_jk, > uriworkermap.properties. > > (I tried this with and without uriworkermap.properties.) > > > Here is my server.xml setup for tomcat: > > csmad...@csm-dev:~/tools/tomcat/apache-tomcat-6.0.20/conf$ cat server.xml > > <?xml version='1.0' encoding='utf-8'?> > <Server port="8005" shutdown="SHUTDOWN"> > > <Listener className="org.apache.catalina.core.AprLifecycleListener" > SSLEngine="on" /> > <Listener className="org.apache.catalina.core.JasperListener" /> > <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" > /> > <Listener > className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> > > > <GlobalNamingResources> > <Resource name="UserDatabase" auth="Container" > type="org.apache.catalina.UserDatabase" > description="User database that can be updated and saved" > factory="org.apache.catalina.users.MemoryUserDatabaseFactory" > pathname="conf/tomcat-users.xml" /> > </GlobalNamingResources> > > > <Service name="Catalina"> > > <Connector port="8080" protocol="HTTP/1.1" > connectionTimeout="20000" > redirectPort="8443" /> > > > <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" > port="8443" minSpareThreads="5" maxSpareThreads="75" > enableLookups="true" disableUploadTimeout="true" > acceptCount="100" maxThreads="200" > scheme="https" secure="true" SSLEnabled="true" > > keystoreFile="/home/csmadmin/tools/tomcat/apache-tomcat-6.0.20/conf/certs/key.cert" > keystorePass="corventis" > clientAuth="false" sslProtocol="TLS"/> > > > <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> > > > <Engine name="Catalina" defaultHost="localhost"> > > > <Realm className="org.apache.catalina.realm.UserDatabaseRealm" > resourceName="UserDatabase"/> > > <Host name="localhost" appBase="webapps" > unpackWARs="true" autoDeploy="true" > xmlValidation="false" xmlNamespaceAware="false"> > </Host> > <Listener className="org.apache.jk.config.ApacheConfig" > modJk="/usr/lib/apache2/modules/mod_jk.so" /> > </Engine> > </Service> > </Server> > Please notice that I have the Connector setup to 8009 > > <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> > Please also noticed that I have the listener configured. > > <Listener className="org.apache.jk.config.ApacheConfig" > modJk="/usr/lib/apache2/modules/mod_jk.so" /> > > > ____________________________________________________ > > > Apache setup for mod_jk is as follows: > > httpd.conf > > csmad...@csm-dev:/etc/apache2$ cat httpd.conf > > LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so > JkWorkersFile /etc/apache2/workers.properties > JkShmFile /var/log/apache2/mod_jk.shm > JkLogFile /var/log/apache2/mod_jk.log > JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories > JkMountFile /etc/apache2/uriworkermap.properties > JkLogLevel trace > JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " > JkMount /hello/* worker1 > > # Send servlet for context /examples to worker named worker1 > JkMount /examples/servlet/* worker1 > # Send JSPs for context /examples to worker named worker1 > JkMount /examples/*.jsp worker1 > > Alias /examples /tools/tomcat/apache-tomcat-6.0.20/webapps/examples > > _______________________________________________________- > > Notice that I have a small webapp that runs standalone called hello. I > would like to manage this webapp such that Apache serves the static data. > (We have real apps, but hello is just a test app for documenting our > configuration). > > (I tried this without/with Alias /examples > /tools/tomcat/apache-tomcat-6.0.20/webapps/examples Examples are also 404 > through Apache, but work through Tomcat directly.) > > Here is the workers.properties file. > > /etc/apache2/workers.properties > > csmad...@csm-dev:/etc/apache2$ cat workers.properties > # Define 1 real worker using ajp13 > worker.list=worker1 > # Set properties for worker1 (ajp13) > worker.worker1.type=ajp13 > worker.worker1.host=127.0.0.0 > worker.worker1.port=8009 > > _______________________________________________________ > > The above is fairly vanilla, pretty much cut & paste out of the how-to > guide for the impatient. I tried with worker.worker1.host=localhost. This > did not work either. > > > Here is the /etc/apache2/uriworkermap.properties > > csmad...@csm-dev:/etc/apache2$ cat uriworkermap.properties > /hello=worker1 > /hello/*=worker1 > > _______________________________________ > > And just for prosperity and completeness here is the Apache2.conf file > > > csmad...@csm-dev:/etc/apache2$ cat apache2.conf > ServerRoot "/etc/apache2" > LockFile /var/lock/apache2/accept.lock > PidFile ${APACHE_PID_FILE} > Timeout 300 > KeepAlive On > MaxKeepAliveRequests 100 > KeepAliveTimeout 15 > > <IfModule mpm_prefork_module> > StartServers 5 > MinSpareServers 5 > MaxSpareServers 10 > MaxClients 150 > MaxRequestsPerChild 0 > </IfModule> > > > <IfModule mpm_worker_module> > StartServers 2 > MaxClients 150 > MinSpareThreads 25 > MaxSpareThreads 75 > ThreadsPerChild 25 > MaxRequestsPerChild 0 > </IfModule> > > > User ${APACHE_RUN_USER} > Group ${APACHE_RUN_GROUP} > > AccessFileName .htaccess > > > <Files ~ "^\.ht"> > Order allow,deny > Deny from all > </Files> > > DefaultType text/plain > > > HostnameLookups Off > > > ErrorLog /var/log/apache2/error.log > > LogLevel debug > > > Include /etc/apache2/mods-enabled/*.load > Include /etc/apache2/mods-enabled/*.conf > > # Include all the user configurations: > Include /etc/apache2/httpd.conf > > # Include ports listing > Include /etc/apache2/ports.conf > > > LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" > \"%{User-Agent}i\"" vhost_combined > LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" > combined > LogFormat "%h %l %u %t \"%r\" %>s %b" common > LogFormat "%{Referer}i -> %U" referer > LogFormat "%{User-agent}i" agent > > > CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined > > > # Include generic snippets of statements > Include /etc/apache2/conf.d/ > > # Include the virtual host configurations: > Include /etc/apache2/sites-enabled/ > > -- > Rick Hightower > > http://www.google.com/profiles/RichardHightower > -- Rick Hightower (415) 968-9037 http://www.google.com/profiles/RichardHightower