How to switch to/from HTTPS using Apache as a proxy to Tomcat

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.

20,099 thoughts on “How to switch to/from HTTPS using Apache as a proxy to Tomcat

  1. Neat blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple tweeks would really make my blog jump out. Please let me know where you got your theme. Appreciate it

  2. Краснодар всем привет Ситуация критическая Жена в истерике В больницу тащить страшно Короче врач приехал и поставил систему — вызвать нарколога на дом анонимно быстро Приехал через 40 минут В общем жмите чтобы сохранить — вызов нарколога на дом круглосуточно вызов нарколога на дом круглосуточно Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  3. Слушайте кто знает Муж просто потерял себя Дети напуганы Таблетки не помогают Короче единственный кто реально помог — вызов нарколога на дом анонимно с лицензией Осмотрел и поставил капельницу В общем не потеряйте контакты — частный нарколог на дом https://alkogolizm.narkolog-na-dom-krasnodar11.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  4. Здорова народ Брат снова сорвался Дети напуганы Нужен врач прямо сейчас Короче только это реально спасло — вызвать анонимного нарколога с препаратами Приехал через 40 минут В общем не потеряйте контакты — экстренная наркологическая помощь на дому экстренная наркологическая помощь на дому Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  5. Люди помогите советом Ситуация критическая Соседи стучат в стену Нужен врач прямо сейчас Короче только это реально спасло — нарколог на дом круглосуточно без выходных Осмотрел и поставил капельницу В общем телефон и цены тут — выезд нарколога круглосуточно https://lechenie.narkolog-na-dom-krasnodar14.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  6. Питер всем привет Близкий человек уже несколько дней в запое Дети напуганы В больницу тащить страшно Короче врач приехал и поставил систему — нарколог домой с опытом Через пару часов человек пришёл в себя В общем не потеряйте контакты — нарколог на дом 24 часа нарколог на дом 24 часа Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  7. I have noticed that in unwanted cameras, specialized devices help to {focus|concentrate|maintain focus|target|a**** automatically. The sensors connected with some surveillance cameras change in contrast, while others use a beam of infra-red (IR) light, especially in low lighting. Higher specification cameras occasionally use a mix of both methods and probably have Face Priority AF where the dslr camera can ‘See’ a face and focus only in that. Thanks for sharing your ideas on this blog site.

  8. Питер всем привет Муж просто потерял себя Дети напуганы Нужен врач прямо сейчас Короче единственный кто реально помог — врач нарколог на дом с осмотром Через пару часов человек пришёл в себя В общем вся инфа по ссылке — нарколог на дом срочно нарколог на дом срочно Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  9. I loved as much as you will receive carried out right here. The sketch is attractive, your authored material stylish. nonetheless, you command get got an nervousness over that you wish be delivering the following. unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this increase.

  10. Казань всем привет Отец не выходит из штопора Родственники не знают что делать Нужен врач прямо сейчас Короче врач приехал и поставил систему — нарколог услуги цены адекватные Приехал через 40 минут В общем не потеряйте контакты — частный нарколог на дом https://zapoj.narkologicheskaya-pomoshh-v-kazani16.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  11. Люди помогите советом Ситуация критическая Соседи стучат в стену Таблетки не помогают Короче единственный кто реально помог — нарколог домой с опытом Приехал через 40 минут В общем жмите чтобы сохранить — наркологическая помощь на дому наркологическая помощь на дому Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  12. Казань всем привет Муж просто потерял себя Жена в истерике В больницу тащить страшно Короче единственный кто реально помог — вызвать наркологическую помощь круглосуточно Дал рекомендации и успокоил семью В общем жмите чтобы сохранить — нарколог на дом казань цены нарколог на дом казань цены Наркологическая помощь — это реальный выход Перешлите тем кто в такой же ситуации

  13. Люди помогите советом Ситуация критическая Соседи стучат в стену Нужен врач прямо сейчас Короче врач приехал и поставил систему — вызвать нарколога цена фиксированная Через пару часов человек пришёл в себя В общем телефон и цены тут — вызвать нарколога цена вызвать нарколога цена Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  14. Нижний Новгород всем привет Брат снова сорвался Дети напуганы Таблетки не помогают Короче врачи приехали и поставили систему — капельница от похмелья стоимость доступная Сняли ломку и стабилизировали состояние В общем не потеряйте контакты — капельница от запоя клиника капельница от запоя клиника Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  15. Good day I am so delighted I found your site, I really found you by accident, while I was researching on Aol for something else, Anyhow I am here now and would just like to say thanks for a remarkable post and a all round exciting blog (I also love the theme/design), I don’t have time to go through it all at the moment but I have book-marked it and also added in your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the awesome work.

  16. Здорова народ Близкий человек уже несколько дней в запое Соседи стучат в стену В больницу тащить страшно Короче только это реально спасло — частный нарколог на дом с капельницей Через пару часов человек пришёл в себя В общем жмите чтобы сохранить — нарколог на дом спб нарколог на дом спб Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  17. Казань всем привет Близкий человек уже несколько дней в запое Дети напуганы Нужен врач прямо сейчас Короче врач приехал и поставил систему — наркологическая помощь срочно Осмотрел и поставил капельницу В общем жмите чтобы сохранить — нарколог лечение https://czena.narkologicheskaya-pomoshh-v-kazani016.ru Наркологическая помощь — это реальный выход Перешлите тем кто в такой же ситуации

  18. Слушайте кто знает Ситуация критическая Соседи стучат в стену Нужен врач прямо сейчас Короче единственный кто реально помог — нарколог на дом круглосуточно цены выгодные Дал рекомендации и успокоил семью В общем вся инфа по ссылке — лечение алкоголизма вызов на дом https://kapelnicza.narkologicheskaya-pomoshh-v-kazani16.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  19. Здорова народ Близкий человек уже несколько дней в запое Жена в истерике Таблетки не помогают Короче единственный кто реально помог — помощь нарколога на дому Осмотрел и поставил капельницу В общем жмите чтобы сохранить — наркологическая помощь в казани наркологическая помощь в казани Наркологическая помощь — это реальный выход Перешлите тем кто в такой же ситуации

  20. Слушайте кто сталкивался Отец не выходит из штопора Жена в истерике В больницу тащить страшно Короче врачи приехали и поставили систему — капельница от запоя нижний новгород круглосуточно Сняли ломку и стабилизировали состояние В общем вся инфа по ссылке — поставить капельницу от запоя поставить капельницу от запоя Звоните прямо сейчас Перешлите тем кто в такой же ситуации

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>