SSL для Magento (Nginx)

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

Choose languageRU

© 2009—2024 Mygento. Все права защищены. Политика конфиденциальности

Menu Menu Menu

Аккредитованная
ИТ-компания