11 май 2012
Протокол HTTPS используется для защищенной передачи данных. В основном это платежные процессинги, пользовательские кабинеты и другие конфиденциальные данные.
Платформа Magento поддерживает протокол https.
Так как вебсервер nginx является наиболее быстрым, настраивать будем именно под него
Для начала следует определиться с типом сертификата и common name сервера. Тип сертификата выбирается из необходимостей интернет-магазина на Magento (например Яндекс-Деньги требует ssl). Common name - это полный адрес сервера (например www.mygento.ru)
Как только определились и выбрали регистратора, то нужно сгенерировать сертификат.
Для создания ключа в командной строке выполните команду:
openssl genrsa -des3 -out private.key 2048
В ответ на запрос «Enter pass phrase for private.key» введите пароль для защиты закрытого ключа;
Ваш закрытый ключ будет создан и сохранен в файле private.key.
Для создания CSR в командной строке выполните команду:
openssl req -new -key private.key -out domain-name.csr
Введите пароль закрытого ключа в ответ на запрос «Enter pass phrase for private.key».
Важно!!! Все следующие поля заполняются латинскими символами:
Запрос на сертификат будет сохранен в файле domain-name.csr в виде закодированного текста. Проверьте корректность введенных данных, выполнив следующую команду:
openssl req -noout -text -in domain-name.csr
После того, как получен удостоверенный сертификат, необходимо сгенерировать общий csr вместе с intermediate CA (коренными сертификатами сертифицирующего центра):
cat www.вашдомен.ru_crt >> all_cerificates.crt
cat www.вашдомен.ru_apache.crt >> all_cerificates.crt
Добавляем в конфиг хоста nginx в секцию server строчки:
server {
…
ssl on; ssl_certificate /absolute_path_for_ssl_keys/all_cerificates.crt; ssl_certificate_key /absolute_path_for_ssl_keys/private.key; #Включаем SSLv3/TLSv1, но выключаем SSLv2, т.к. он устарел. ssl_protocols SSLv3 TLSv1; #Выключаем простые шифры ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
…
}
Перезапускам nginx и смотрим на результат:
/etc/init.d/nginx restart
В процессе перезапуска nginx спросит PEM пароль от ключа, так что его забывать не стоит.
Также рекомендуем поддерживать версию nginx актуальной. Посмотреть установленную версию можно выполнив команду:
nginx -v
Итог: При заходе на https версию сайта в браузере мы видим подтверждение безопасности:
Opera
Firefox