Things I wish I'd Known Earlier

But learned the hard way!

Making Apache mod_rewrite and the ajp Tomcat connector work together

Written by Tim on November 20, 2010

Apache’s URL rewriting facility can be used to shape URLs piped to Tomcat, but it’s not as simple as it seems.

The basic action is straightforward. First incoming URLs are processed by mod_rewrite, then they are matched up against JkMount definitions to find the appropriate Tomcat connector to use.

The problem is, what Tomcat sees isn’t what you’d expect to have come out from the rewrite process.

What actually happens is that before being submitted to mod_rewrite, the incoming URL is converted to server-relative form. After rewriting, the resulting URL is then reassembled, including the parts that Tomcat doesn’t want or need. Including the Apache DocumentBase path.

To prevent this problem, just qualify the last rewrite rule in the process with the “PT” directive to let Apache know to “Pass Through” the URL without reassembly. So, for example:

RewriteRule ^/$ /mywebapp/index.jsp [L,PT]
JkMount /mywebapp/* ajp13
Posted In Enterprise Java | Stupid Linux Tricks
Tagged Apache | Connector | rewrite | Tomcat

Post navigation

PreviousHowto: Installing TracDiscussion
NextTomcat ignores FORM based authentication, uses BASIC authentication

Categories

  • Android
  • Bad Practices
  • Better Software Design
  • Enterprise Java
  • Hardware
  • Internet of Things
  • Java Persistence Architecture (JPA) and related ORM
  • Libre Office
  • MillRight CNC
  • Random maniacal ravings
  • Stupid Linux Tricks
  • The Cloud
  • Uncategorized
July 2022
M T W T F S S
 123
45678910
11121314151617
18192021222324
25262728293031
« Jun    

Categories

  • Android
  • Bad Practices
  • Better Software Design
  • Enterprise Java
  • Hardware
  • Internet of Things
  • Java Persistence Architecture (JPA) and related ORM
  • Libre Office
  • MillRight CNC
  • Random maniacal ravings
  • Stupid Linux Tricks
  • The Cloud
  • Uncategorized

Tags

Android annoyances jpa hibernate Apache Arduino attach ATTiny85 centos centos 7 configuration date/time design detach DigiSpark documents Enterprise Java Facelets floating-point fonts graphviz hibernate howto IDE Imprecise data types JBoss JPA JSF linux Maven oowriter openjpa ORM recipe RichFaces scalable graphics security spring testing Tomahawk Tomcat tomcat5 tomcat6 Tomcat Instrumentation vector graphics weaver Xen

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Copyright © 2022. Things I wish I'd Known Earlier
Powered By WordPress and Auspicious