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