• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
  • Junilu Lacar
  • Knute Snortum
  • Henry Wong
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Joe Ess
  • salvin francis

Struts redirect behind reverse proxy

Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have an issue dealing with a struts application behind an apache proxy.

The url used through proxy is https://www.example.com/myapp/.
The proxy redirects to http://localmachine:8080/myapp/Logon.do.
So when the struts application redirects to new pages, the new pages fail to load.

Proxy config contains:
RewriteRule /myapp/(*.)  http://localmachine:8080/myapp/$1 [P,L]

The myapp/WEB-INF/web.xml contains:

The myapp/WEB-INF/struts-config.xml contains:
   <forward name="Welcome" path="/Logon.do" >

The myapp/index.jsp contains:
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<logic:redirect forward="Welcome"/>

Could anyone tell me how to make this struts application work properly behind the reverse proxy?
Posts: 9603
Mac OS X Linux Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is your local web server?  If it is Tomcat, do you have your Connector(s) configured with a proxyName/proxyPort like this:

see here for more info
Michelle Griffin
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry, I did not get to test this sooner, the system was dismantled and rebuilt but now I am able to test your solution below.

I added the proxyName and proxyPort to the Tomcat conf/server.xml file but it seemed to have no affect.

Is there maybe another configuration setting I am missing?  Or another area I should try to debug?

Thank you again for the assistance.
Saloon Keeper
Posts: 21423
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't think you're actually using an Apache reverse proxy in the strict sense. I think you're just rewriting URLs.

Apache has 2 reverse proxy modules that can work with Tomcat: mod_jk and mod_proxy. You didn't supply the directives that would have made either of them do the proxying.

A true reverse proxy does more than just rewrite URLs. In fact, the Apache proxies forward the proxy requests over special channels using special protocols, so instead of talking to Tomcat port 8080 or 8443, they talk to port 8081, which is the Coyote Connector for proxy traffic.

And, incidentally. using an application-supplied login instead of letting Tomcat handle login via J2EE security is a lot less secure.
When I was younger I felt like a man trapped inside a woman’s body. Then I was born. My twin is a tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!