Как правильно сгенерировать сертификат для настойки https на nginx?

Пользователь

от evalyn.barrows , в категории: Другие , 6 месяцев назад

Как правильно сгенерировать сертификат для настойки https на nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marshall.cummings , 6 месяцев назад

@evalyn.barrows 

Для генерации сертификата для настройки HTTPS на Nginx, вы можете использовать утилиту OpenSSL. Вот пошаговая инструкция, как сделать это:

  1. Установите OpenSSL, если он еще не установлен на вашем сервере.
  2. Создайте приватный ключ (private key) для вашего домена с помощью команды: openssl genrsa -out private.key 2048
  3. Создайте сертификатный запрос (certificate signing request, CSR). Вам потребуется указать некоторую информацию о вашем домене (название, e-mail и т.д.). Используйте следующую команду: openssl req -new -key private.key -out req.csr
  4. Отправьте CSR на подписание сертификата в центр сертификации (certificate authority, CA) или используйте собственное самоподписанное сертификационное учреждение.
  5. Если вы получили от CA подписанный сертификат обратно, то сохраните его в файле certificate.crt.
  6. Создайте цепочку сертификатов (certificate chain). Если вы получили цепочку сертификатов от CA, сохраните ее в файле certificate_chain.crt.
  7. Поместите приватный ключ, сертификат и цепочку сертификатов в определенные каталоги. Обычно они должны быть доступны только для чтения пользователем Nginx. sudo cp private.key /etc/nginx/ssl/ sudo cp certificate.crt /etc/nginx/ssl/ sudo cp certificate_chain.crt /etc/nginx/ssl/
  8. Отредактируйте конфигурационный файл Nginx, например /etc/nginx/sites-available/default. Добавьте следующие строки в блок server: server { listen 443 ssl; server_name ваш_домен; ssl_certificate /etc/nginx/ssl/certificate.crt; ssl_certificate_key /etc/nginx/ssl/private.key; ssl_trusted_certificate /etc/nginx/ssl/certificate_chain.crt; ... }
  9. Перезагрузите Nginx, чтобы внести изменения в конфигурацию. sudo service nginx reload


Теперь ваш сервер Nginx настроен для работы с HTTPS с использованием сгенерированного сертификата.