Diptendu Dutta
Diptendu Dutta

Reputation: 341

How to use a different path name in ProxyPass than the Tomcat context name

I am using Tomcat 5.5.9 and Apache 2.x

We are trying to use a path name in ProxyPass that is different than the Tomcat context name.

ProxyPass /path http://localhost:8080/contextname

However, this does not work. When these two are the same then everything works fine.

Most examples I see on the net also have the path equal to the Tomcat context name.

I am using "context.xml" within the Tomcat context and do NOT have "server.xml" entries. Also, I am using plain httd.conf and NOT using any VirtualHost entries.

Upvotes: 16

Views: 51009

Answers (4)

vasquez
vasquez

Reputation: 581

Your problem are probably self-referential URLs that the application produces. There isn't much you can do about it except for

  1. changing the app or
  2. rewrite everything that it spits out.

Option 2 can be very fragile. See the tomcat docs for more info.

Upvotes: 2

Janning Vygen
Janning Vygen

Reputation: 9192

Add a slash to both values:

ProxyPass /path/ http://localhost:8080/contextname/

Upvotes: 4

JL
JL

Reputation:

RewriteEngine on
RewriteRule ^/path$ /path/ [R]
RewriteRule ^/path/(.*) /contextname/$1 [P]

ProxyPass /contextname/ protocol://192.168.15.48:8080/contextname/
ProxyPassReverse /contextname/ protocol://192.168.15.48:8080/contextname/

Where "protocol"="http" in this case...

Upvotes: 3

David Rabinowitz
David Rabinowitz

Reputation: 30448

I believe you need both

ProxyPass /path/ http://localhost:8080/contextname/
ProxyPassReverse /path/ http://localhost:8080/contextname/

Any reason not to use mod_jk?

Upvotes: 13

Related Questions