Перенаправление с 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 определенный правилом.

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

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



Как это работает: запрос вида 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 и будет установлена защищенная сессия.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *