Настройка HTTPS в Linux

Настройка HTTPS

Что такое HTTPS протокол и зачем он нужен? HTTPS — обеспечивает безопасное (зашифрованное) интернет соединение. При работе с каким либо сайтом по HTTPS протоколу, все передаваемые, между клиентов и сервером данные шифруются. Для шифрования данных используется SSL сертификат. В основном такие соединения используются интернет-магазинами, банками. В общем сайтами где осуществляется передача пользователем своих личных данных. Существует множество SSL сертификатов. В данной статье не будут рассматриваться виды или типы SSL сертификатов.

Рассмотрим настройку HTTPS протокола на сервере Linux с установленной CentOS с web сервером Apache (httpd). В принципе директивы конфигурации web сервера на разных дистрибутивах Linux не отличаются друг от друга. Отличие есть только в названии пакетов, которые необходимо установить. Все начинается с установки web сервера Apache и модуля mod_ssl. Данный web сервер рассматривается, т.к. на данный момент он является самым популярным среди своих аналогов.

Вводим команду: yum install httpd mod_ssl

После установки пакетов, mod_ssl уже будет загружен в конфигурацию apache, необходимо запустить сам web сервер командой service httpd start. Если при запуске не возникло ошибок, то продолжим редактирование файла конфигурации.

Для настройки возможности использования HTTPS на вашем сервере необходимо отредактировать главный файл конфигурации apache — httpd.conf. В нем прописываются сами виртуальные хосты, по которым web сервер понимает какую папку ему необходимо просмотреть, чтобы найти файлы сайта, которые он будет обрабатывать. Для того, чтобы Ваш сайт открывался по безопасному протоколу Вам необходимо объявить хост — NameVirtualHost ваш_IP:443. Обычно apache работает на 80 порту (стандартный порт протокола http), для HTTPS используется 443 порт. В блоке VirtualHost ваш_IP:443 необходимо прописать все стандартные директивы конфигурации ServerName, DocumentRoot, ServerAlias и т.д. Для включения HTTPS протокола необходимо дополнительно, в этом же VirtualHost прописать еще несколько директив и перезапустить сервис командой service httpd restart. Директивы:

SSLEngine on
SSLCertificateFile /path/to/your/cert/file/cert.crt
SSLCertificateKeyFile /path/to/your/key/file/cert.key
SSLCACertificateFile /path/to/your/ca/file/ca.crt

В принципе настройка завершена. Вы можете использовать самоподписанный сертификат для работы или же купить SSL сертификат у центра сертификации или у реселлеров. При использовании самоподписанного сертификата браузеры выдают предупреждения о том, что сертификат используемый на сервере является самоподписанным и к нему нет доверия.


Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'actions_post_nav' not found or invalid function name in /var/www/ch8648adac/www/linuxgid.ru/wp-includes/class-wp-hook.php on line 288