Monday, August 28, 2017

Re: GWT Application gets “404 The requested resource is not available”.

Hi Jen,

I have done what you mentioned as well. Here is the content of /opt/tomcat/conf/server.xml 

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.tomee.catalina.ServerListener" />
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

    <Resource name="UserDatabase" auth="Container"
              description="User database that can be updated and saved"
              pathname="conf/tomcat-users.xml" />
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               redirectPort="8443" xpoweredBy="false" server="Apache TomEE" />

   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
   <Engine name="Catalina" defaultHost="localhost">
   <Realm className="org.apache.catalina.realm.LockOutRealm">
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />


Here is the content of "/etc/libapache2-mod-jk/".

workers.tomcat_home=/opt/tomcat  workers.java_home=/usr/lib/jvm/java-8-oracle/jre  ps=/  worker.list=ajp13_worker  worker.ajp13_worker.port=8009  worker.ajp13_worker.type=ajp13  worker.ajp13_worker.lbfactor=1  worker.loadbalancer.type=lb  worker.loadbalancer.balance_workers=ajp13_worker

I found some article online mentioned that I need to create symbolic link for GWT application. I can't figure out if it is true or not, though. It said I need to add something like below to
SSL vhost configuration file.

DocumentRoot "/opt/tomcat/webapps/Index" Alias /Index "/opt/tomcat/webapps/Index" <Directory "/opt/tomcat/webapps/Index"> Options Indexes FollowSymLinks AllowOverride NONE Order allow,deny Allow from all </Directory> <Location "/Index/WEB-INF/"> AllowOverride None Deny from all </Location> JKMountCopy On JKMount /* ajp13_worker

On Monday, August 28, 2017 at 1:56:22 AM UTC-7, Jens wrote:

Thank you so much for your reply. However, I heard that mod_proxy is slower that Mod JK, so I made a switch just a little while ago :)

Oh sorry, somehow missed you are using mod_jk. Never really used it but then I guess you are missing some configuration needed on your production system.

Maybe the statement here does not take port 8080 into consideration ? -> "DocumentRoot "/opt/tomcat/webapps/Index"
Maybe I should try get rid of this same line within http vhost config file?

I think you should have a file which is used to tell apache / mod_jk how to access the worker you have named "ajp13_worker". It should have host and port config values. But I guess if these values would be wrong you would get a HTTP 5xx status code and not a 4xx one.

Maybe change mod_jk logging to debug to get more information.

-- J.

You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
Visit this group at
For more options, visit

No comments:

Post a Comment