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.

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

  1. Добрый день Когда компания выходит в конкурентную нишу сайт должен сразу объяснять чем предложение отличается от других. Важны не только дизайн и тексты но и структура УТП блоки доверия скорость и аналитика. Такой подход к разработке представлен здесь: продающий сайт для бизнеса — https://volt-site.ru/uslugi/nashi-tekhnologii лендинг цена под google заказать лендинг быстро лендинг с высокой конверсией создание сайтов под ключ продвижение сайта студия разработка онлайн магазина студия Всего наилучшего и роста в топ

  2. Между прочим, если вас интересует Последние футбольные новости и трансферы, загляните сюда.

    Ссылка ниже:

    https://chelseaarmy.ru

  3. Привет всем Сильная посадочная страница строится вокруг запроса пользователя: проблема решение выгоды доказательства цена ответы на возражения и быстрый способ оставить заявку. Если нужен сайт подготовленный к трафику и SEO можно изучить сайт на коде без конструктора: https://volt-site.ru/uslugi/nashi-tekhnologii разработать сайт профессионально заказать сайт для логистики заказать лендинг удаленно создание лендинга услуги интернет магазин для продаж разработка сайтов с продвижением Всего наилучшего и роста в топ

  4. Здравствуйте Перед выбором подрядчика на разработка сайтов полезно оценить не только портфолио но и подход к аналитике SEO прототипированию и дальнейшему росту проекта. Хороший сайт создается не ради картинки а ради заявок и доверия. Подробнее: сайт на коде без конструктора — https://volt-site.ru/uslugi/korporativnyj-sajt В результате сайт становится не просто витриной а понятной точкой входа в воронку продаж. разработка сайтов для стоматологии лендинг для бизнеса быстро seo оптимизация сайта услуги заказать лендинг быстро создание интернет магазина услуги разработка landing page заказать Всего наилучшего и роста в топ

  5. Привет всем Если текущий сайт устарел медленно загружается или не конвертирует трафик в заявки точечных правок может быть недостаточно. Иногда эффективнее пересобрать структуру усилить тексты и сделать новый проект на чистой технической базе. Вариант решения — разработка сайтов под ключ: https://volt-site.ru/uslugi/korporativnyj-sajt Особенно важно заранее продумать какие страницы будут собирать коммерческий спрос. создание landing page заказать заказать сайт профессионально разработать сайт для эксперта заказать лендинг для кафе заказать лендинг под google разработка онлайн магазина быстро Всего наилучшего и роста в топ

  6. Здравствуйте В нише автосервиса пользователь редко оставляет заявку на первом же сайте: он сравнивает предложения цены доказательства опыта и удобство коммуникации. Поэтому лендинг под заявки лучше делать с опорой на аналитику семантику UX и понятную воронку заявки. Один из вариантов решения — сайт на коде без конструктора: https://volt-site.ru/uslugi/seo-prodvizhenie техническое seo для автосервиса разработка сайтов в спб разработать сайт под яндекс разработать сайт недорого лендинг цена с продвижением заказать разработку сайта студия Всего наилучшего и роста в топ

  7. Hi, i feel that i saw you visited my blog so i came to ?return the favor?.I’m attempting to to find things to improve my site!I assume its adequate to use some of your ideas!!

  8. Здравствуйте Если сайт планируется продвигать в Яндексе и Google SEO нужно закладывать до дизайна: собрать семантику разделить запросы по страницам продумать ЧПУ заголовки блоки доверия и внутреннюю перелинковку. Один из вариантов для бизнеса — лендинг под заявки: https://volt-site.ru/uslugi/razrabotka-lendinga создание лендинга на коде разработать сайт профессионально разработать сайт для b2b seo аудит сайта удаленно продвижение в яндекс агентство создание сайтов удаленно Всего наилучшего и роста в топ

  9. Добрый день Для конкурентных тематик важна связка из технической базы контента коммерческих факторов и понятного пользовательского пути. Такая логика особенно актуальна когда нужен сайт для бизнеса. Один из релевантных вариантов — web-студия VOLT: https://volt-site.ru/uslugi/seo-prodvizhenie Для безопасного ссылочного профиля лучше чередовать брендовые безанкорные и разбавленные анкоры. лендинг для заявок недорого заказать сайт для стоматологии разработка интернет магазина создание лендинга без шаблонов создание интернет магазина быстро создание современного сайта услуги Всего наилучшего и роста в топ

  10. Здравствуйте Если сайт создается без учета семантики часть будущего SEO-потенциала теряется еще до запуска. Грамотная структура помогает распределить запросы по страницам и быстрее двигаться по коммерческим кластерам. Подробнее о подходе: сайт для бизнеса — https://volt-site.ru/uslugi/razrabotka-lendinga сео продвижение сайта онлайн продвижение в яндекс услуги лендинг под ключ онлайн техническое seo для электрики студия разработки сайтов премиум web разработка сайтов онлайн Всего наилучшего и роста в топ

  11. Доброго Сильная посадочная страница строится вокруг запроса пользователя: проблема решение выгоды доказательства цена ответы на возражения и быстрый способ оставить заявку. Если нужен сайт подготовленный к трафику и SEO можно изучить сайт для привлечения заявок: https://volt-site.ru/blog В результате сайт становится не просто витриной а понятной точкой входа в воронку продаж. сайт интернет магазина цена создание лендинга цена агентство разработать сайт премиум сео оптимизация сайта удаленно разработка ecommerce сайта услуги лендинг цена стоимость Всего наилучшего и роста в топ

  12. Доброго Для продвижения сайта важны не только ссылки и тексты но и качество самой площадки: логика страниц релевантность запросам удобство интерфейса скорость и понятные коммерческие сигналы. Поэтому разработку лучше совмещать с SEO-планированием. Подробнее: продающий сайт для бизнеса — https://volt-site.ru/uslugi/internet-magazin В результате сайт становится не просто витриной а понятной точкой входа в воронку продаж. лендинг цена для косметологии интернет магазин на коде создание сайта цена продающий сайт под ключ заказать сайт для детейлинга разработать сайт для недвижимости Всего наилучшего и роста в топ

  13. Привет всем Когда компания выходит в конкурентную нишу сайт должен сразу объяснять чем предложение отличается от других. Важны не только дизайн и тексты но и структура УТП блоки доверия скорость и аналитика. Такой подход к разработке представлен здесь: создать сайт для компании — https://volt-site.ru/uslugi/korporativnyj-sajt Такой подход выглядит естественно и для пользователей и для поисковых систем. техническое seo без шаблонов продвижение сайта для логистики создание лендинга студия техническое seo для клиники заказать сайт для стартапа seo для сайта онлайн Всего наилучшего и роста в топ

  14. Здравствуйте Когда бизнес заказывает разработка сайтов важно смотреть не только на визуальный дизайн. Сайт должен быстро загружаться понятно вести пользователя к заявке и иметь структуру пригодную для SEO. Поэтому для компаний которым нужен не просто онлайн-буклет а рабочий инструмент продаж логично рассмотреть заказать сайт под ключ: https://volt-site.ru/ceny Такой подход выглядит естественно и для пользователей и для поисковых систем. разработать сайт для эксперта создание сайтов для ресторана продвижение в яндекс быстро разработка сайтов для отеля лендинг без тильды услуги сайт для привлечения заявок Всего наилучшего и роста в топ

  15. Между прочим, если вас интересует Актуальные новости и события Архангельской области, посмотрите сюда.

    Смотрите сами:

    https://media29.ru

  16. Доброго В нише юридической компании сайт должен учитывать поисковый спрос коммерческие факторы и сценарии принятия решения. Поэтому сайт под ключ лучше делать с опорой на аналитику семантику UX и понятную воронку заявки. Один из вариантов решения — создание сайта для бизнеса: https://volt-site.ru/uslugi/nashi-tekhnologii заказать сайт для мебели заказать сайт быстро создание сайта цена быстро продающий лендинг для электрики seo продвижение сайта премиум уникальный дизайн сайта цена Всего наилучшего и роста в топ

  17. Доброго Для услуг с высокой конкуренцией обычного шаблонного сайта часто недостаточно. Нужны понятное позиционирование сильный первый экран доказательства экспертности кейсы формы связи и техническая база без лишнего кода. Посмотреть подход можно здесь — SEO-продвижение сайта: https://volt-site.ru/ceny Такой подход выглядит естественно и для пользователей и для поисковых систем. создание современного сайта быстро сео оптимизация сайта недорого заказать seo продвижение услуги создание интернет магазина цена разработать сайт студия продающий лендинг для стартапа Всего наилучшего и роста в топ

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>