Купить Корзина
  • Облако и ИТ-инфраструктура
  • ИИ-модели
  • Продукты
    • Сайт под ключ
    • Сайт под ключ на Tilda
    • Интернет-магазин под ключ
    • Конструктор сайтов Рег.ру
  • Продукты
    • SEO-продвижениеКомплексное продвижение под ключ — 6 тарифов, стратегия, тексты, ссылки и аналитика
    • GEO-продвижениеПродвижение в ответах нейросетей — там, где клиенты уже ищут вас
    • SEO-стартБазовая оптимизация с фиксированной ценой
    • SEO-аудитТехнический разбор вашего сайта с рекомендациями по улучшению
  • Продукты
    • Зарегистрировать новый домен
    • Освобождающиеся домены
    • Магазин доменов
    • Доменный брокер
    • Продлить домен
    • Перенести домен в Рег.ру
    • Проверить домен в Whois-сервисе
  • Продукты
    • Базовые тарифы хостинга
    • ВИП-тарифы хостинга
    • Хостинг для 1C-Битрикс
    • Продление хостинга
    • Бесплатный перенос сайта в Рег.ру
    • Сайт на WordPress
  • Продукты
    • Почта на доменеНастройте почту и создайте ящики самостоятельно
  • Продукты
    • Заказать SSL-сертификат
    • Бесплатный SSL-сертификат
    • SSL-сертификаты Wildcard
    • SSL-сертификаты GlobalSign
    • SSL‑сертификаты ТЦИ
    • Проверка SSL-сертификата
  • Продукты
    • Сервис для онлайн-записи YCLIENTS
    • Контур Диадок
    • Электронная подпись от Контура
    • Торговый эквайринг от СберБизнеса
    • Регистрация своего дела со СберБизнесом
    • Антивирус для сайта
    • Лицензия 1С-Битрикс
    • Автоматическое SEO-продвижение
    • Яндекс Директ
    • Яндекс Бизнес
  • Продукты
    • Виртуальные VPS
    • Высокочастотные VPS
    • Дешевые VPS
    • Облачные VPS
    • Управляемые VPS
    • Перенести VPS в Рег.ру
  • Сайт + SEO
  • Сайт с SEO-продвижением
  • Рег.решения
    • Сайт под ключ — от 10 939 ₽Дизайн, наполнение, запуск — мы делаем всё за вас. Домен бесплатно
    • Сайт под ключ на Tilda — от 19 950 ₽Дизайн, интеграции, аналитика. Домен бесплатно
    • Почта под ключ — 4 095 ₽Настроим почту на домене за вас и перенесем письма со старого ящика
    • Многодоменов .ru/.рф — 1 079 ₽Регистрация доменов по выгодным ценам — чем больше, тем выгоднее
  • Рег.решения
    • Пакет услуг для сайта на хостинге — 5 299 ₽Домен, хостинг и другие инструменты для надежной работы сайта
    • Пакет услуг для высоконагруженных проектов — 60 999 ₽Обеспечьте быструю и бесперебойную работу одного или нескольких сайтов
    • Кибербезопасность сайта — 10 099 ₽Защита сайта и клиентов от утечки данных, спама, фишинга и других угроз
  • Рег.решения
    • Почта под ключ — 4 095 ₽Настроим почту на домене за вас и перенесем письма со старого ящика
    • Сайт и почта под ключ — от 8 399 ₽Современный сайт для бизнеса и корпоративная почта на вашем домене
  • Рег.решения
    • Пакет услуг для сайта на хостинге — 5 299 ₽Домен, хостинг и другие инструменты для надежной работы сайта
    • Пакет услуг для высоконагруженных проектов — 62 099 ₽Обеспечьте быструю и бесперебойную работу одного или нескольких сайтов
    • Кибербезопасность сайта — 10 099 ₽Защита сайта и клиентов от утечки данных, спама, фишинга и других угроз
  • Рег.решения
    • Упаковка бренда — 5 444 ₽
    • Аналитика ниши и товаров — 1 490 ₽
    • Поиск сотрудников — 6 599 ₽
    • Пакет услуг для открытия бизнеса — 80 399 ₽
    • Онлайн-присутствие вашего бизнеса — 8 229 ₽
  • Рег.облако
    • Выделенные серверыГотовые физические (Bare Metal) серверы, большой выбор конфигураций
    • Облачные серверыВиртуальные машины, автоустановка приложений, конфигуратор тарифов
    • Управляемые базы данных (DBaaS)Кластеры баз данных PostgreSQL и MySQL с репликацией
    • Кластеры Kubernetes (KaaS)Сервис автоматизированного развертывания кластеров Kubernetes
    • Частное облако VMwareИзолированное облако под управлением заказчика, индивидуальная конфигурация
    • Объектное хранилище S3Масштабируемое хранилище с платой только за использованные ресурсы
  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. SSL-сертификаты
    3. 3 этап: Установка SSL-сертификата
    4. Как настроить SSL-сертификат на Nginx

    Как настроить SSL-сертификат на Nginx

    Чтобы настроить SSL-сертификат на Nginx, укажите пути к сертификату сайта и приватному ключу в конфигурации веб-сервера. Затем включите HTTPS, настройте перенаправление с HTTP на HTTPS и проверьте конфигурацию перед применением изменений.

    Сертификат можно настроить вручную или с помощью Certbot. Ручной способ подходит для коммерческих сертификатов Рег.ру и других центров сертификации. Certbot позволяет получить бесплатный сертификат Let's Encrypt, настроить Nginx и автоматизировать продление.

    Что понадобится для настройки SSL-сертификата

    Перед началом проверьте, что у вас есть:

    • доступ к серверу по SSH с правами root или sudo;
    • установленный и запущенный Nginx;
    • домен, который указывает на IP-адрес сервера;
    • открытые порты 80 и 443, если сервер должен принимать HTTP- и HTTPS-запросы;
    • SSL-сертификат, приватный ключ и промежуточные сертификаты центра сертификации.

    В примерах используется домен example.com. Замените его на свой домен. Пути к файлам и конфигурации могут отличаться в зависимости от операционной системы и настроек сервера.

    Как настроить SSL-сертификат вручную

    Этот способ подходит, если вы уже получили SSL-сертификат от Рег.ру или другого центра сертификации.

    Шаг 1. Получите сертификат и подготовьте файлы

    Закажите SSL-сертификат и активируйте его. В зависимости от типа сертификата потребуется подтвердить владение доменом или пройти проверку организации.

    Если сертификат еще не активирован:

    • Как активировать сертификаты: AlphaSSL и DomainSSL,
    • Как активировать сертификаты: OrganizationSSL и ExtendedSSL.

    После выпуска скачайте сертификат и необходимые промежуточные сертификаты. Подробнее о файлах для установки рассказали в статье Где взять данные для установки SSL-сертификата.

    Для установки также понадобится приватный ключ, который соответствует сертификату. Если вы создавали запрос на выпуск сертификата (CSR) на сервере, используйте сохраненный приватный ключ. Повторно создавать его не нужно.

    Шаг 2. Подготовьте цепочку сертификатов

    Nginx должен передавать браузеру сертификат сайта и необходимые промежуточные сертификаты. Обычно корневой сертификат добавлять не нужно.

    Если центр сертификации выдал сертификат сайта и промежуточный сертификат отдельными файлами, объедините их в один файл. Сначала укажите сертификат сайта, затем промежуточные сертификаты в порядке, который рекомендует центр сертификации. Например:

    cat example.com.crt intermediate.crt > fullchain.crt

    Если центр сертификации предоставил готовый файл полной цепочки, используйте его. Названия файлов могут отличаться.

    Шаг 3. Разместите сертификат и приватный ключ на сервере

    Создайте отдельный каталог для файлов сертификата:

    sudo mkdir -p /etc/nginx/ssl/example.com

    Загрузите в каталог файл полной цепочки fullchain.crt и приватный ключ example.com.key. В этом примере файлы находятся по пути /etc/nginx/ssl/example.com/.

    Ограничьте доступ к приватному ключу:

    sudo chown root:root /etc/nginx/ssl/example.com/example.com.key
    sudo chmod 600 /etc/nginx/ssl/example.com/example.com.key

    Не размещайте приватный ключ в каталоге сайта, доступном через браузер. Убедитесь, что процесс Nginx может читать файл ключа. В стандартной конфигурации главный процесс Nginx работает с правами root, но в нестандартных окружениях права доступа могут отличаться.

    Шаг 4. Настройте HTTPS в конфигурации Nginx

    Найдите конфигурационный файл сайта. В зависимости от системы он может находиться в /etc/nginx/sites-available/, /etc/nginx/conf.d/ или в другом каталоге, который подключен в основной конфигурации Nginx.

    В блоке server, который обрабатывает HTTPS-запросы, укажите сертификат, приватный ключ и поддерживаемые версии TLS:

    server {
        listen 443 ssl;
        server_name example.com www.example.com;
    
        ssl_certificate /etc/nginx/ssl/example.com/fullchain.crt;
        ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;
    
        ssl_protocols TLSv1.2 TLSv1.3;
    
        root /var/www/example.com;
        index index.html index.htm;
    }

    Замените домены и путь к каталогу сайта на свои значения. Если в существующем блоке server уже настроены root, index, location и другие директивы, сохраните их. Не заменяйте всю конфигурацию этим примером без проверки.

    Директива ssl_certificate указывает путь к сертификату и цепочке, а ssl_certificate_key — к приватному ключу. Параметр ssl_protocols разрешает TLS 1.2 и TLS 1.3. Поддержка TLS 1.3 зависит от версии Nginx и библиотеки OpenSSL, с которой он собран.

    Шаг 5. Настройте перенаправление с HTTP на HTTPS

    Чтобы посетители автоматически переходили на защищенную версию сайта, добавьте отдельный блок для HTTP-запросов:

    server {
        listen 80;
        server_name example.com www.example.com;
    
        return 301 https://hostrequest_uri;
    }

    Код 301 обозначает постоянное перенаправление. Переменная $host сохраняет имя хоста, а $request_uri — путь и параметры запроса. Убедитесь, что сертификат действителен для всех доменов, указанных в server_name.

    Параметр listen 80 сам по себе не включает перенаправление. Для этого нужна директива return или другое подходящее правило.

    Шаг 6. Проверьте конфигурацию и перезагрузите Nginx

    Перед применением изменений проверьте конфигурацию:

    sudo nginx -t

    Если команда сообщает об успешной проверке, примените изменения без полного перезапуска сервера:

    sudo systemctl reload nginx

    Если проверка завершилась ошибкой, не применяйте изменения. Проверьте пути к сертификату и ключу, права доступа и синтаксис конфигурации. Для дополнительной диагностики используйте:

    sudo systemctl status nginx

    Команды systemctl подходят для систем с systemd. В других окружениях способ управления службой может отличаться.

    Шаг 7. Проверьте работу HTTPS

    Откройте сайт в браузере по адресу https://example.com. Убедитесь, что браузер не сообщает об ошибке сертификата, а страницы и ресурсы загружаются без предупреждений о смешанном содержимом.

    Проверьте перенаправление с HTTP:

    curl -I -L http://example.com

    Параметр -I запрашивает только HTTP-заголовки, а -L позволяет пройти по цепочке перенаправлений. Проверьте, что запрос переходит на HTTPS.

    Затем проверьте HTTPS-ответ:

    curl -I https://example.com

    При необходимости отдельно проверьте домен с префиксом www, например https://www.example.com. Убедитесь, что сертификат действителен для каждого используемого доменного имени.

    Как настроить SSL-сертификат на Nginx с помощью Certbot

    Certbot помогает получить бесплатный сертификат Let's Encrypt и настроить Nginx автоматически. Этот способ подходит, если домен указывает на сервер, а сам сервер доступен из интернета.

    • 1
      Откройте инструкцию по установке Certbot для своей системы и Nginx. Выполните предложенные команды установки.
    • 2

      Укажите домены в команде:

      sudo certbot --nginx -d example.com -d www.example.com

      Certbot проверит домен, получит сертификат и сможет изменить конфигурацию Nginx. Для проверки домена через HTTP обычно нужен доступ к серверу по порту 80. Перед запуском сохраните резервную копию конфигурации.

    • 3

      Выполните команды:

      sudo nginx -t
      sudo certbot certificates

      Первая команда проверяет конфигурацию Nginx, вторая показывает сведения о сертификатах, которыми управляет Certbot.

    • 4

      Запустите тестовое продление:

      sudo certbot renew --dry-run

      Команда проверяет сценарий продления и не заменяет действующий сертификат. Убедитесь, что в системе настроен автоматический запуск Certbot. В зависимости от способа установки для этого может использоваться системный таймер или задание планировщика.

      Проверить системные таймеры можно командой:

      systemctl list-timers

      Наличие таймера зависит от способа установки Certbot. Если автоматический запуск не настроен, продление не будет происходить самостоятельно. Не создавайте дополнительное задание, пока не проверите существующий механизм запуска.

    • 5
      После выпуска сертификата проверьте перенаправление на HTTPS и работу сайта в браузере.

    Чем отличаются ручная настройка и Certbot

    Ручная настройка дает полный контроль над конфигурацией Nginx и подходит для уже выпущенных коммерческих сертификатов. Certbot упрощает получение сертификата Let's Encrypt и позволяет автоматизировать его продление. Основные различия между способами приведены в таблице.

    Критерий
    Ручная настройка
    Certbot
    Какие сертификаты
    Коммерческие сертификаты Рег.ру и других центров сертификации
    Бесплатные сертификаты Let's Encrypt
    Настройка Nginx
    Администратор указывает пути к сертификату и ключу, редактирует конфигурацию
    Certbot может изменить конфигурацию автоматически
    Продление
    Нужно продлить сертификат и установить новую версию
    Можно настроить автоматическое продление
    Контроль конфигурации
    Администратор управляет всеми изменениями
    Нужно проверять изменения, которые вносит Certbot
    Что проверить
    Цепочку сертификатов, пути, права доступа и конфигурацию
    Выпуск сертификата, конфигурацию Nginx и автоматическое продление

    Частые вопросы

    Какие версии TLS включить в Nginx?
    Обычно достаточно TLS 1.2 и TLS 1.3. TLS 1.0 и TLS 1.1 устарели, поэтому их не следует включать без особой необходимости. Поддержка TLS 1.3 зависит от версии Nginx и OpenSSL на сервере.
    Нужно ли добавлять корневой сертификат в цепочку?
    Обычно нет. Nginx должен передавать сертификат сайта и промежуточные сертификаты центра сертификации. Используйте готовый файл полной цепочки, если его предоставил центр сертификации.
    Почему Nginx не запускается после настройки SSL?
    Частые причины — неверный путь к сертификату или приватному ключу, недостаточные права доступа, ошибка в конфигурации или неправильный порядок сертификатов в цепочке. Выполните sudo nginx -t, чтобы найти ошибку, и проверьте журналы Nginx.
    Как проверить автоматическое продление сертификата?
    Для Certbot выполните sudo certbot renew --dry-run. Команда проверит сценарий продления. Также убедитесь, что в системе настроен таймер или задание, которое запускает Certbot автоматически. Коммерческие сертификаты нужно продлевать по правилам выдавшего их центра сертификации.

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    • vk
    • telegram
    • ok
    • vc
    • dzen
    • rbc
    • max
    • Продукты
      • Домены
      • Хостинг
      • Почта
      • SSL-сертификаты
      • Конструктор сайтов
      • VPS и VDS серверы
      • Магазин доменов
      • Облако для бизнеса
    • Решения по сфере бизнеса
      • Подойдут всем
      • Маркетплейсы
      • Образование
      • Бьюти
      • Медицина
      • Автосервисы
      • Бытовые услуги
      • Досуг
      • Спорт
      • Все решения
    • Сервисы
      • Whois – проверить данные домена
      • Определить IP адрес
      • Проверить порт на доступность
      • Проверить IP адрес сайта
      • Перевести домен в Punycode
      • Проверить скорость интернета
    • Компания
      • О компании
      • Контакты
      • Офисы
      • Новости
      • Акции и скидки
      • Блог
      • Отзывы клиентов
    • Полезное
      • Стоимость услуг
      • Способы оплаты
      • Бонусная программа
      • Документы
      • База знаний
      • ЭДО
      • Партнерам
    • Другое
      • РБК: новости России и мира сегодня
      • Новости компаний РФ
      • РБК Инвестиции: курсы валют
      • Спецпроект с Онлайн Патентом
      • РБК Курсы

    Облачная платформа Рег.ру включена в реестр российского ПО Запись № 23682 от 29.08.2024

    • mintsifry
    • icann
    • cctld
    © ООО «РЕГ.РУ»
    • Политика конфиденциальности
    • Политика обработки персональных данных
    • Правила применения рекомендательных технологий
    • Правила пользования и другие правила и политики
    • Сообщить о нарушении
    • Используем куки, это делает удобнее вашу работу с сайтом