Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:apache_и_https [2013/04/10 18:54] |
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''). |
| В этом файле рекомендуется после директивы | В этом файле рекомендуется после директивы | ||
| Строка 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> | ||
| Строка 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}} |
| | | ||