В этой статье мы расскажем о том, как установить SSL-сертификат на Nginx. Но сначала дадим понятие SSL-сертификата и объясним, как он устроен. Что такое SSL-сертификатSSL-сертификат — это цифровой документ, который хранит в себе информацию о домене и его владельце. Если вы переходите на ресурс и видите значок замка и https:// в адресной строке браузера, значит, на сайте используется SSL-сертификат. Главное назначение сертификата безопасности — защитить данные от перехвата третьими лицами. Это возможно благодаря криптографическому протоколу TLS — «современнику» SSL-протокола (protocol SSL), в честь которого SSL-сертификат получил название. Он шифрует данные перед их передачей. Помимо этого SSL-сертификаты используются, чтобы:
После установки SSL-сертификата сайт начинает работу по протоколу HTTPS, который поддерживает шифрование информации и работает поверх криптографического TLS. В чем отличие TLS от HTTPS? TLS кодирует передаваемые данные, а HTTPS — канал, по которому они передаются. SSL-сертификат необходим для сайта, на котором пользователи оставляют личные данные (например, номер телефона или email) или указывают данные банковских карт для оплаты. Как установить SSL-сертификат на сервер NginxПеред установкой нужно получить все части SSL-сертификата:
Далее нужно выполнить несколько подготовительных действий на компьютере: -----BEGIN CERTIFICATE-----
сертификат -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- промежуточный_сертификат -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- корневой_сертификат -----END CERTIFICATE----- 2. Создайте второй файл с названием domain_name.key (вместо domain_name укажите домен, для которого заказан сертификат). Добавьте в него содержимое приватного ключа. Следующие шаги — это установка и настройка SSL-сертификата на Nginx. Чтобы установить сертификат: 1. Подключитесь к серверу по SSH. /etc/ssl/
Также возможен вариант: /etc/nginx/ssl/domain.ru
Вместо domain.ru укажите директорию вашего домена. 3. Откройте конфигурационный файл Nginx. Для этого выполните одну из команд в зависимости от расположения файла на сервере: sudo nano /usr/local/nginx/conf
sudo nano /etc/nginx sudo nano /usr/local/etc/nginx 4. В файле конфигурации Nginx добавьте блок для работы сайта по HTTPS: server {
listen 443 ssl; server_name domain.ru; ssl_certificate /etc/ssl/domain_name.crt; ssl_certificate_key /etc/ssl/domain_name.key; } Где:
5. Если вам нужно, чтобы был доступен протокол HTTP, добавьте дополнительную директиву listen: listen 80;
6. Далее необходимо оптимизировать работу HTTPS-сервера Nginx: для этого в секции server добавьте строки: ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m; keepalive_timeout 70; Где:
7. Укажите протоколы TLS (SSL), версии которых должен поддерживать сервер: ssl_protocols TLSv1 TLSv1.2 TLSv1.3;
8. Для выбора серверных шифров в качестве приоритетных добавьте строку: ssl_prefer_server_ciphers on;
9. Чтобы страницы сайта загружались быстрее, нужно:
Для настройки этих параметров добавьте строки: ssl_stapling on;
ssl_trusted_certificate /etc/ssl/domain.ru/ca.crt; resolver 1.1.1.1; Где:
10. Проверьте содержимое конфигурационного файла. Оно будет иметь следующий вид: server {
listen 443 ssl; listen 80; server_name domain.ru; ssl_certificate /etc/ssl/domain.ru/domain_name.crt; ssl_certificate_key /etc/ssl/domain.ru/domain_name.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; keepalive_timeout 70; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_trusted_certificate /etc/ssl/domain.ru/ca.crt; resolver 1.1.1.1; } После проверки сохраните изменения с помощью комбинации клавиш Ctrl + O. Затем закройте файл, используя Ctrl + X. 11. Чтобы изменения вступили в силу, нужно перезагрузить веб-сервер Nginx. Для этого выполните команду: sudo /etc/init.d/nginx restart
Готово, вы установили SSL-сертификат на Nginx. Как проверить работу SSL-сертификатаВажно, чтобы все настройки SSL были корректны — только так обмен данными будет безопасным. Проверить работу сертификата можно с помощью онлайн-сервисов. В качестве примера рассмотрим домен sweb.ru и сервис проверки SSLShopper. Чтобы убедиться в том, что SSL-сертификат работает корректно: 3. Убедитесь в том, что все пункты списка отмечены зеленой галочкой: Также проверьте валидность всех компонентов SSL-сертификата: Если на одном из этапов проверки возникает ошибка, проверьте:
Если вы не наблюдаете видимых проблем или возникли сложности при настройке сертификата, обратитесь в службу поддержки. |