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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:apache_и_https [2013/01/21 13:06]
Добавлено про добавление самописных сертификатов.
wiki:apache_и_https [2016/02/13 17:49] (текущий)
Строка 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''​).
  
 В этом файле рекомендуется после директивы В этом файле рекомендуется после директивы
Строка 55: Строка 55:
 <code apache> <code apache>
 # Публичный сертификат сервера # Публичный сертификат сервера
-SSLCertificateFile ​   /etc/apache2/​certs/​server.pem+SSLCertificateFile ​   /etc/ssl/​certs/​server.pem
 # Приватный ключ сервера # Приватный ключ сервера
-SSLCertificateKeyFile /etc/apache2/​private/​server.key+SSLCertificateKeyFile /etc/ssl/​private/​server.key
 </​code>​ </​code>​
  
Строка 63: Строка 63:
  
 <code bash> <code bash>
-sudo /​etc/​init.d/​apache2 restart+sudo service ​apache2 restart
 </​code>​ </​code>​
  
Строка 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 /​etc/​init.d/​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>​
  
Строка 97: Строка 86:
 Всё, теперь ещё раз перезапустите Apache и убедитесь,​ что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу. Всё, теперь ещё раз перезапустите Apache и убедитесь,​ что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу.
 ======Ссылки===== ======Ссылки=====
-[[http://​plashc.livejournal.com/​630.html|Источник]]+  * [[http://​plashc.livejournal.com/​630.html|Источник]] 
 +  * [[http://​httpd.apache.org/​docs/​2.4/​rewrite/​avoid.html|When not to use mod_rewrite]]
  
-{{tag>​Администрирование ​Веб_сервер Apache HTTPS HTTP SSL}}+{{tag>​Администрирование ​веб-сервер Apache HTTPS HTTP SSL}}
  
   ​   ​