Hi,
I've got a strange issue I cannot get to the bottom of. Basically we have
our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make calls
to stateless pages its all good. However as soon as I try to make a call to
a stateful page it does a 302 to the login page for our app, but then just
gets stuck in a 302 loop redirection loop. Looking at the server logs its
full of this with no other exception - each track trace corresponds to
another 302 redirect. Each redirect is trying to get to our login page:
2017-07-25 14:40:18,989 ERROR -
org.apache.wicket.DefaultExceptionMapper.internalMap(DefaultExceptionMapper.java:129)
129 DefaultExceptionMapper - Unexpected error occurred
java.lang.NullPointerException
at
org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(RedirectRequestHandler.java:99)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:93)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
at
hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
at
com.wideplay.warp.persist.PersistenceFilter$3.run(PersistenceFilter.java:141)
at
com.wideplay.warp.persist.internal.Lifecycles.failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
at
com.wideplay.warp.persist.PersistenceFilter.doFilter(PersistenceFilter.java:155)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
at org.eclipse.jetty.server.Server.handle(Server.java:461)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:745)
2017-07-25 14:40:19,076 ERROR -
org.apache.wicket.DefaultExceptionMapper.internalMap(DefaultExceptionMapper.java:129)
129 DefaultExceptionMapper - Unexpected error occurred
java.lang.NullPointerException
at
org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(RedirectRequestHandler.java:99)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
etc
Does any one have any idea what is causing this? Its fine on my local
machine and fine if I used tomcat behind apache.
My apache cons looks like this:
<VirtualHost x.x.x.x:443>
ServerName XXXXX.com
RequestHeader set X_FORWARDED_PROTO "https"
RequestHeader set X-Forwarded-Proto "https"
ErrorLog /home/wayne/error_log
CustomLog /home/wayne/access_log combined
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLEngine On
SSLCertificateFile /ec/etc/apache/2.4/ssl/XXXX.crt
SSLCertificateKeyfile /ec/etc/apache/2.4/ssl/XXXX.key
SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
Header always set Strict-Transport-Security "max-age=63072000;
includeSubdomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
application/javascript application/x-javascript
ProxyPreserveHost On
# ProxyPass / http://127.0.0.1:8080/
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
nofailover=Off
<Proxy balancer://cluster/>
Order allow,deny
Allow from all
BalancerMember http://127.0.0.1:8080 route=jetty1
</Proxy>
</VirtualHost>