Настройка HTTPS в Apache Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
wiki:apache_и_https [2013/04/10 18:54]
wiki:apache_и_https [2015/03/31 03:12]
[Перенаправление HTTP запросов на HTTPS] Поменял mod_rewrite на mod_alias
Строка 11: Строка 11:
 После ответа на все вопросы в директории должны появиться два новых файла - server.pem и server.crt (ключ и сертификат,​ соответственно). После ответа на все вопросы в директории должны появиться два новых файла - server.pem и server.crt (ключ и сертификат,​ соответственно).
  
-Чтобы использовать сгенерированный ключ нужно знать пароль введенный нами, и Apache будет спрашивать его у нас при загрузке,​ а к чему нас млишние вопросы от демонов?​ :) Поэтому снимаем пароль с ключа:+Чтобы использовать сгенерированный ключ нужно знать пароль введенный нами, и Apache будет спрашивать его у нас при загрузке,​ а к чему нам лишние вопросы от демонов?​ :) Поэтому снимаем пароль с ключа:
 <code bash>cp server.key{,​.orig} <code bash>cp server.key{,​.orig}
 openssl rsa -in server.key.orig -out server.key openssl rsa -in server.key.orig -out server.key
Строка 35: Строка 35:
 </​code>​ </​code>​
  
-Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию,​ указав в нём пути к вашим сертификатам. Сам файл называется ''/​etc/​apache2/​sites-enabled/​default-ssl''​.+Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию,​ указав в нём пути к вашим сертификатам. Сам файл называется ''/​etc/​apache2/​sites-enabled/​default-ssl'' ​(или ''/​etc/​apache2/​sites-enabled/​default-ssl.conf''​).
  
 В этом файле рекомендуется после директивы В этом файле рекомендуется после директивы
Строка 70: Строка 70:
 ===== Перенаправление HTTP запросов на HTTPS ===== ===== Перенаправление HTTP запросов на HTTPS =====
  
-Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. ​Чтобы ​добиться ​этого можно, например,​ организовать перенаправление ​с помощью ''​mod_rewrite''​. ​Для этого сначала необходимо его активировать:+Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. ​Сделаем ​это с помощью ''​mod_alias''​. ​Если он не включён — включаем:
  
 <code bash> <code bash>
-sudo a2enmod ​rewrite+sudo a2enmod ​alias
 sudo service apache2 restart sudo service apache2 restart
 </​code>​ </​code>​
  
-Затем изменить ​файл ''/​etc/​apache2/​sites-enabled/​000-default'',​ отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл ​надо ​добавить внутрь блока +Затем изменяем ​файл ''/​etc/​apache2/​sites-enabled/​000-default'',​ отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву
- +
-<code apache>​ +
-<​VirtualHost *:80> +
-... +
-</​VirtualHost>​ +
-</​code>​ +
- +
-строчки+
 <code apache> <code apache>
-        RewriteEngine On +Redirect / https://example.com/​
-        RewriteCond %{HTTPS} off +
-        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}+
 </​code>​ </​code>​