База знаний

Создание и установка SSL сертификата на Nginx

  • 3

Для установки SSL сертификата на Nginx Вам необходимо:

1. Скопировать файлы сертификата на сервер. 

Скопируйте ваш сертификат (your_domain_name.crt) и корневой сертификат (root.crt), вместе с .key-файлом, который вы генерировали при создании CSR-запроса в директорию на вашем сервере, куда вы собираетесь установить сертификат. Для обеспечения безопасности, сохраняйте файлы с пометкой "только чтение".

2. Затем соедените сертификат с корневым сертификатом.

Для этого Вам необходимо соединить файл сертификата с файлом корневого сертификата в единый .pem файл, выполнив следующую команду:

cat root.crt >> your_domain_name.crt 


3. Далее измените файл виртуального хоста Nginx.

Теперь откройте ваш файл виртуального хоста Nginx для сайта, который вы защищаете. Если вам необходимо, чтобы сайт работал и с защищенным соединением (https), и с незащищенным (http), вам нужен серверный модуль для каждого типа соединения. 
Необходимо сделайть копию существующего серверного модуля для незащищенного соединения и вставить ниже оригинала. После этого добавьте строчки, которые приведены ниже жирным шрифтом:

server { listen 443; 

ssl on;
ssl_certificate /etc/ssl/your_domain_name.crt; 
(or .pem)ssl_certificate_key /etc/ssl/your_domain_name.key; server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
    root /home/www/public_html/your.domain.com/public/;
    index index.html;


}


Настройка имен файлов:

  • ssl_certificate - файл, содержащий основной и корневой сертификаты (шаг 2).
  • ssl_certificate_key - файл с ключем, который был сгенерирован при создании CSR.

    4. теперь Вы можете перезагрузить Nginx.

    Для этого введите следующую команду для перезагрузки Nginx:
  • sudo /etc/init.d/nginx restart

Помог ли вам данный ответ?