Hi all,

we have a Tapesty5 application deployed on Tomcat + Apache httpd. In
production environment at our customer, the application should be deployed
/ accessed like this:
  - Tomcat is running on a server in internal network on port 8080.
  - There is an Apache HTTP server with reverse proxy to Tomcat (AJP)
accessible from the internet on port 80.
  - Internal users should access the application on Tomcat directly without
https on http://servername.intranet.customer.sk:8080/appname/login
  - External users should access the application through Apache httpd, with
https, on https://apps.customer.sk/appname/login

1. Initiallly, I had no @Secure annotations on my pages. The application
worked correctly from internal network, but not from internet. From
internet, I could access the login page through https, but after submit, I
get somehow redirected to http which ends with server error: Your browser
sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

2. I have annotated all my pages with @Secure. The aplication now works
correctly from internet, but not from internal network. From internal
network, I can access
http://servername.intranet.customer.sk:8080/appname/login but I get
redirected to https at
https://servername.intranet.customer.sk:8080/appname/login. - This is not
desired, I would like the application to continue in http mode.

Is this setup possible with a Tapestry5 application (a single deployed
instance)?
Is there some way to tell Tapestry "If you're accessed through https, then
serve all pages through https, else if you're accessed through http, then
serve all pages through http"?

Thanks
Regards
Martin

Reply via email to