Поддержка услуг » База знаний » Linux Server » Настройка HTTPS в Apache
 Настройка HTTPS в Apache
Решение

Веб-сервер Apache полностью поддерживает работу по HTTPS. Для того, чтобы активировать поддержку HTTPS на уже установленном Apache необходимо выполнить всего две вещи.

Для начала необходимо активировать mod_ssl:

sudo a2enmod ssl
sudo /etc/init.d/apache2 restart

А затем включить настройки HTTPS сайта по умолчанию:

sudo a2ensite default-ssl
sudo /etc/init.d/apache2 reload

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl.

В этом файле рекомендуется после директивы

SSLEngine on

добавить строчку

SSLProtocol all -SSLv2

дабы запретить использование устаревшего протокола SSLv2.

Дальше вам необходимо отредактировать параметры, ответственные за сертификаты. В простейшем случае всё будет выглядеть примерно так:

# Публичный сертификат сервера
SSLCertificateFile    /etc/apache2/certs/youserver.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/apache2/certs/private.key
# Файл с сертификатами промежуточных центров сертификации
SSLCertificateChainFile /etc/apache2/certs/chain-ca.pem
# Файл с сертификатом корневого центра сертификации
SSLCACertificateFile /etc/apache2/certs/ca.crt

Теперь просто перезагрузите Apache:

sudo /etc/init.d/apache2 restart

И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.

Перенаправление HTTP запросов на HTTPS

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Чтобы добиться этого можно, например, организовать перенаправление с помощью mod_rewrite. Для этого сначала необходимо его активировать:

sudo a2enmod rewrite
sudo /etc/init.d/apache2 restart

Затем изменить файл /etc/apache2/sites-enabled/000-default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл надо добавить внутрь блока

<VirtualHost *:80>
...
</VirtualHost>

строчки:

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу.



Подробности статьи
Cтатья №:97
Создано:28 May 2012 9:39 AM

 Этот ответ мне помог  Этот ответ мне не помог

 Назад
 Войти [Пароль утерян] 
Электронная почта:
Пароль:
Запомнить:
 
 Поиск
 Свойства статьи
Главная | Регистрация | Отправить заявку | База знаний | Загрузки
Язык:

© HiTex Technologies. 2009-2018