I’m writing this down because it too me an age to figure out a way of doing this. I have a website which Tomcat is happily serving. Areas of the site require a secure connection so I’m using Spring security to require particular URLs to be accessed over HTTPS. It means that when I access http://example.org:8080/webapp/login, it’ll bump me to https://example.org:8443/webapp/login. Note: Tomcat is setup with the SSL connector and a self signed .keystore see (http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html).
I have two vhosts setup in Apache, one for the http://example.org and one for https://example.org. They are both using mod_proxy to ProxyPass and ProxyPassReverse requests to the appropriate Tomcat URL’s. The problem comes when switching to HTTPS from HTTP and vice versa. Ideally I wanted some sort of ProxyPassReverse declaration in my config for http://example.org what would change HTTP headers (that Spring sets) for https://example.org:8443/webapp into https://example.org. Except ProxyPassReverse doesn’t work like that.
Now, I realise I could simply not use Spring to manage which parts of the site should be accessed over HTTPS and which should not…and just setup Apache to redirect as appropriate. I don’t want to do that though, because that makes the task of adding these restrictions a deploy time task, rather than a development time task. I don’t want to risk someone forgetting to add new restrictions when deploying the webapp and I’d much rather the developer added these restrictions when they were working on the task and really thinking about where and when they are needed.
So, how do I solve the problem so that the app can manage its secure-ness and I can setup Apache once and forget about it? The answer is to ProxyPassReverse onto a “special” URL, which when accessed will redirect to the HTTPS (or HTTP) site. For example, if the HTTP site needed to redirect to the HTTPS site, I’d add rules like so to perform the redirect:
# Proxy a request (from the server) to switch to https onto a special URL "/2https/"
ProxyPassReverse /2https/ https://example.org:8443/webapp/
# When a client requests a URL prefixed with "/2https" map it onto the secure site
RewriteRule ^/2https/(.*)$ https://example.org/$1 [R,L]
…and you’d add something similar to the secure site Apache config. As long as I don’t mount any pages at /2http or /2https I should be ok. Note a couple of things:
- You’ll need “SSLProxyEngine on” and “RewriteEngine on” and obviously the appropriate Apache modules loaded for these commands.
- Because of the redirect between HTTP <-> HTTPS you won’t be able to POST data between them directly (I’m not sure why you’d NEED to though)
- Obviously you’ll need to setup Apache with an SSL certificate…but that is a different story
I should say a special thanks to this random site – from whence the idea actually came from. If anyone has any better ideas on how to do it I’d love to hear them. Please comment below.
recommended progress link – The aesthetic is modern and forward-thinking, inspiring active planning.
StrategyPath – Simple presentation with useful concepts for steady growth.
krasner critique – Well-organized and simple, effectively communicating the main arguments.
Guided Focus – Site structure is clear and supports quick understanding of concepts.
focused calm clarity – Everything flows gently without feeling rushed.
Creative Corner – Presents innovative ideas with clarity and simplicity.
ForwardGrowth – Simple design that makes understanding concepts quick and intuitive.
Momentum Path – Well-laid-out design keeps information accessible and easy to follow.
пылесос dyson v15 detect absolute купить пылесос dyson v15 detect absolute купить .
пылесос дайсон купить во владимире pylesos-dn-kupit.ru .
пылесос дайсон v15s купить pylesos-dn-kupit-1.ru .
Step Forward – Neat pages with actionable insights make the site easy to follow and productive.
nycbhm official portal – Informative and structured, content is helpful for anyone exploring the subject.
ростов купить пылесос дайсон pylesos-dsn.ru .
dyson пылесос v15 absolute pylesos-dn-kupit-2.ru .
remiphl updates – Smooth layout, content is digestible and presented professionally.
democracy alert – Easy to navigate, content is straightforward and promotes awareness effectively.
romain campaign site – Straightforward presentation, mission and vision are explained well.
Concept Hub – Easy-to-follow design helps visitors explore ideas smoothly.
TheCallPlay – Engaging sports stories presented in a clean, professional format.
FuturePathway – Straightforward layout with actionable ideas for new learners.
kids help campaign – Heartening cause, showing how much people care for children’s well-being.
MomentumShift – Content inspires action and is structured for clarity and easy comprehension.
купить стайлер дайсон официальный сайт купить стайлер дайсон официальный сайт .
дайсон стайлер для волос купить цена с насадками официальный сай… дайсон стайлер для волос купить цена с насадками официальный сай… .
ProgressBoost – Clear design and concise advice help users apply ideas quickly.
structured clarity space – Well-arranged content that’s easy to take in.
Clarity Path – Simple design with well-presented ideas makes learning and applying easy.
вертикальный пылесос dyson absolute pylesos-dn-1.ru .
Clarity Flow – Well-arranged pages and clear instructions make understanding effortless.
hagins for philly updates – Concise and easy to read, content is structured for a smooth user experience.
mcc theater portal – Clear and well-structured, the initiative seems promising and well-received.
Purple Pricing Info – Well designed, pricing sections are intuitive and user-friendly.
дайсон официальный сайт стайлер купить fen-dn-kupit-13.ru .
Action Compass – Clean, structured site makes implementing ideas effortless.
ProgressGuide – Structured content supports learning without feeling overwhelming.
ct campaign portal – Clear and inspiring content, perfect for exploring ideas and initiatives.
PowerUpCommunity – Informative and easy-to-use site that clearly outlines programs.
helpful guidance site – The message is clear and reinforces maintaining attention on key tasks.
фен купить dyson оригинал fen-dn-kupit-12.ru .
Do It Today – Encourages immediate action and avoids procrastination.
MomentumCore – Organized content helps users grasp ideas quickly.
Insight Path – Practical guidance and clean design make concepts easy to follow.
N3rd items marketplace – Well-structured site, shopping process is simple and efficient.
официальный сайт дайсон стайлер купить stajler-dsn-1.ru .
Guided Progress – Structured layout and clear explanations help readers implement concepts quickly.
motion of ideas – Concepts move smoothly and feel very approachable.
astoria together hub – Welcoming and easy to navigate, community updates are quick to find.
Ulay Jasa Network – User-focused layout, information is clear and site feels fast and responsive.
Forward Hub – Clear organization helps readers take in concepts efficiently.