SSL на Nginx: настройка сертификата и HTTPS, коротко и с данными

Конспект страницы: 5 разделов коротко, данные на 19 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: SSL на Nginx: настройка сертификата и HTTPS.

Коротко

Главная / Установка / SSL на Nginx SSL на Nginx включают в блоке server: порт 443 с параметром ssl, директива ssl_certificate с путём к сертификату и ssl_certificate_key с путём к приватному ключу. Остальное доделывается за несколько минут: цепочка в одном файле, отдельный блок для порта 80 и проверка конфига перед перезагрузкой. Вам нужны два файла и два пути в конфиге: сертификат вместе с промежуточными и приватный ключ.

Конспект по разделам

Какие файлы Nginx нужны для SSL-сертификата

Nginx читает сертификат и ключ с диска, поэтому сначала нужно собрать два файла. Первый содержит ваш сертификат и следом за ним промежуточные сертификаты центра сертификации. Второй хранит приватный ключ, который создавался вместе с запросом CSR.

Как выглядит блок server с SSL в Nginx

Откройте конфигурацию сайта, обычно это файл в /etc/nginx/conf.d/ или /etc/nginx/sites-available/, и добавьте блок для порта 443. Параметр ssl после номера порта говорит Nginx принимать на нём зашифрованные соединения. Протоколы TLS 1.2 и 1.3 в документации Nginx указаны значением по умолчанию, строку можно оставить для наглядности.

Как отправить посетителей с порта 80 на HTTPS в Nginx

Адреса со старым http:// уже стоят в закладках и ссылках, поэтому порт 80 оставляют и заставляют его отвечать переадресацией. Сделайте для него отдельный короткий блок. Код 301 сообщает поисковикам, что адрес переехал насовсем, а $request_uri сохраняет путь и параметры: страница /catalog/?id=5 откроется по https на том же месте.

Как проверить и применить конфиг Nginx с SSL

Если в выводе виден только ваш сертификат без промежуточных, браузеры на телефонах могут ругаться, а настольные нет. Разбор приёмов проверки: как проверить SSL-сертификат.

Почему Nginx не запускается после подключения SSL

Чтобы убедиться, что сертификат и ключ составляют пару, сравните отпечатки их модулей. Способ работает для ключей RSA, и значения должны совпасть.

Данные

ИсточникФайл для ssl_certificateФайл для ssl_certificate_key
Certbot (Let's Encrypt)/etc/letsencrypt/live/example.com/fullchain.pem/etc/letsencrypt/live/example.com/privkey.pem
Платный сертификатСобранный вручную файл: сертификат + промежуточныеВаш.key, созданный до заявки
Что пишет Nginx или браузерПричинаЧто делать
key values mismatchКлюч не от этого сертификата или файл склеен в обратном порядкеСверьте пару командами ниже, пересоберите файл: сначала ваш сертификат
No such file or directoryНеверный путь в ssl_certificate или ssl_certificate_keyУкажите полный путь и проверьте права на каталог
Сайт не открывается по https, по http работаетПорт 443 закрыт или нет listen 443 sslОткройте порт в файрволе, см. проверку порта 443
«Имя не совпадает»В server_name или в сертификате нет нужного домена, например wwwРазбор ошибки имени

Данные на 19 октября 2026.

Вопросы и ответы

Какие директивы нужны для SSL на Nginx?

Минимум три: listen 443 ssl в блоке server, ssl_certificate с путём к сертификату и ssl_certificate_key с путём к приватному ключу.

Можно ли подключить бесплатный сертификат к Nginx без ручной склейки файлов?

Да. Certbot кладёт в каталог /etc/letsencrypt/live/ваш-домен/ готовый fullchain.pem и privkey.pem, достаточно указать эти пути. Порядок команд описан на странице про Certbot.

Нужно ли перезапускать Nginx после замены сертификата в конфиге?

Хватит reload: он перечитывает файлы без остановки сайта. Перед ним запустите nginx -t.

Где в конфиге Nginx указывают промежуточный сертификат?

Отдельной директивы нет: промежуточные сертификаты идут в том же файле, что и ваш, сразу после него. Его путь пишут в ssl_certificate.