Перенаправление с http на https в apache

Задача: перенаправить http запросы на защищенное https соединение например, запрос http://site.domain.ru будет перенаправлен на httpS://site.domain.ru Конфигурация: Debian 6, apache2.2.16

Примечание: в данной статье не рассматривается генерация ключей и сертификатов.

  1. Включаем поддержку необходимых модов в apache:

vhost_alias – позволяет на одном IP адресе поддерживать несколько виртуальных хостов; ssl – поддержка шифрования SSL (в данной статье настройка SSL не рассматривается); rewrite – изменяет запрошенный пользовательский URL на URL определенный правилом.

  1. Редактируем vhost_alias:

  1. Настраиваем rewrite

(adsbygoogle = window.adsbygoogle || []).push({});

Как это работает: запрос вида http://site.domain.ru будет обработан правилом <VirtualHost :80> определенным в файле vhost_alias.conf, согласно которму apache прочитает содержимое каталога “/data/www/site” определеного директивой DocumentRoot. Apache первым делом проверит наличие файла .htaccess и выполнит перенаправление согласно директивам Rewrite, изменив URL http://site.domain.ru на https://site.domain.ru. Измененную URL https://site.domain.ru обработает правило <VirtualHost :443> в котором указаны директивы SSL и будет установлена защищенная сессия.