Протокол 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