Как настроить 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-соединения на сайте. Ещё раз повторяю, каждый из этапов зависит от сервера и от операционной системы, поэтому всё-таки придётся воспользоваться поиском для одного из частных случаев, который возник конкретно у Вас.
-
- Михаил Русаков
Комментарии (11):
А все браузеры поддерживаю 256 битное шифрование?
Ответить
Не все, а поддержка 256 битного шифрования зависит ещё и от сервера, а также от ОС.
Ответить
Если сервер apache. OC - Windows 7? А браузер MSIE7?
Ответить
IE7 не поддерживает, только с IE8 появилась такая поддержка.
Ответить
у вас такой вопрос!! от php nado otpravit sms na tel a kak eto budet kogda nebud vi rabotali ob etom-smpp??? spasibo
Ответить
SMS надо отправлять через сторонние сервисы, причём каждое сообщение будет стоить Вам денег. Как настроить это на сайте, Вам объяснят в самом сервисе, дав инструкцию и код.
Ответить
nam est elektroniy dnevnik v tadjikistan i nado sms dnevnik no tam nado vash savet kak im eto realizovaat
Ответить
Здравствуйте Михаил! Поздравляю Вас с Новым Годом (дважды,так как в прошлом письме не поздравила)! В статье "Как настроить HTTPS-соединение?" Вы рассказываете про настройку применительно к серверу Apache. А не могли бы Вы рассказать о настройках в случае применения сервера IIS 7.5? С уважением, Маша.
Ответить
Таке саме питання, але для Nginx.
Ответить
Сейчас Comodo сертификат на 1 год можно купить за ~ 250 руб
Ответить
Самоподписанный сертификат гарантирует защиту данных по https?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.