Как настроить HTTPS-соединение?


Как настроить HTTPS-соединение? Меня уже давно просили немного осветить тему настройки HTTPS-соединения на сайте. Для тех, кто не знает, зачем нужен HTTPS, объясняю: когда Вы передаёте свои данные (например, логин и пароль) серверу, то они идут в открытом виде. Если их злоумышленник перехватит, то, соответственно, он их узнает. На обычных сайтах это не так страшно, но вот если это будет какая-нибудь платёжная система, тогда, получив доступ к данным, злоумышленник просто опустошит Ваши кошельки. А с использованием HTTPS данные отправляются в зашифрованном виде, и только лишь у сервера-приёмника есть ключ, позволяющий их расшифровать. То есть злоумышленник, перехватив данные, не получит ровным счётом ничего. Сразу говорю, что сам сайт никак не меняется. По сути для создания HTTPS-соединения надо лишь настроить сервер. Итак, порядок действий: Настроить SSL. Сам процесс зависит от сервера, но, как правило, по умолчанию он уже настроен. В пакете Denwer он уже также подготовлен для работы. Купить и установить сертификат на сервер. Цены начинаются примерно от 2500 рублей в год. Можно, конечно, и не покупать, но тогда пользователей будут постоянно предупреждать, что используется недоверенный сертификат. Сам сертификат состоит из двух частей: открытый и закрытый ключ (public и private). Первый используется для шифрования данных от клиента к серверу, а второй для расшифровки этих данных уже на сервере. Установка сертификата также зависит от сервера, плюс от операционной системы. Настроить виртуальный хост. Примерный код я покажу ниже, но опять же это всё зависит от сервера и от операционной системы. Ниже привожу код, который необходимо прописать в файле httpd.conf (файл настройки сервера Apache): <VirtualHost mysite.ru:443> #Включить SSL SSLEngine on # Путь к сертификату SSLCertificateFile /usr/local/etc/apache/ssl.crt/certificate.crt # Путь к закрытому ключу SSLCertificateKeyFile /usr/local/etc/apache/ssl.key/privatekey.key # Убираем ошибку у Internet Explorer "Bad data from the server" SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown # Путь к log-файлу ErrorLog /usr/local/apache/logs/ssl_engine_log # Формат содержимого log-файла CustomLog /usr/local/apache/var/log/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> После этого можно будет обращаться к https://mysite.ru, тем самым, делая безопасное соединение с сайтом. В данной статье я показал ход действий для настройки HTTPS-соединения на сайте. Ещё раз повторяю, каждый из этапов зависит от сервера и от операционной системы, поэтому всё-таки придётся воспользоваться поиском для одного из частных случаев, который возник конкретно у Вас.