bg-tutorials

Как сгенерировать CSR для Pound

Этот учебник объясняет, как сгенерировать CSR (Certificate Signing Request) для Pound, легковесного обратного проксі-сервера и балансировщика нагрузки. Поскольку в Pound нет встроенного инструмента для создания CSR, вы будете использовать OpenSSL для создания CSR и приватного ключа, а затем отправите CSR в удостоверяющий центр.

Примечание: Первоначальный проект Apsis Pound был прекращён в сентябре 2022 года, когда компания Apsis GmbH была ликвидирована. Активно поддерживаемым преемником является форк graygnuorg/pound (в настоящее время версия 4.x). Процесс генерации CSR, описанный ниже, работает как для старого Pound, так и для текущего форка, поскольку он основан на OpenSSL, а не на самом Pound.

Создание CSR и приватного ключа

У вас есть два варианта для создания CSR:

  • Использовать CSR Generator, чтобы создать CSR автоматически, без выполнения каких-либо команд.
  • Сгенерировать CSR вручную с помощью OpenSSL на сервере, где работает Pound, как описано ниже.

Шаг 1: Выполните команду OpenSSL

Подключитесь к серверу Pound через SSH и выполните следующую команду. Замените каждый placeholder на ваши реальные данные:

openssl req -new -newkey rsa:2048 -sha256 -nodes 
  -keyout yourdomain.key 
  -out yourdomain.csr 
  -subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourdomain.com" 
  -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Эта единственная команда создаёт два файла в текущей директории:

  • yourdomain.key — ваш приватный ключ. Храните этот файл в безопасности и не передавайте его никому.
  • yourdomain.csr — Certificate Signing Request, который вы отправите в CA.

Шаг 2: Разберитесь с полями

Каждое поле в строке -subj идентифицирует вашу организацию для удостоверяющего центра:

  • C: двухбуквенный код страны (например, US).
  • ST: штат или область (например, California).
  • L: город или населённый пункт (например, San Jose).
  • O: полное юридическое наименование организации (например, Your Company LLC).
  • CN: полностью определённое доменное имя, которое вы хотите защитить (например, yourdomain.com).

Опция -addext добавляет альтернативные имена субъекта (SAN). Современные браузеры проверяют сертификат по списку SAN, а не по полю CN. Включите каждый вариант домена, который должен быть охвачен, например, и yourdomain.com, и www.yourdomain.com.

Шаг 3: Проверьте и отправьте CSR

Откройте файл CSR в любом текстовом редакторе или выведите его в терминал:

cat yourdomain.csr

Вывод начинается с -----BEGIN CERTIFICATE REQUEST----- и заканчивается -----END CERTIFICATE REQUEST-----. Скопируйте весь блок, включая эти граничные строки, и вставьте его в поле CSR при заказе сертификата. Вы также можете проверить содержимое CSR с помощью инструмента Decode CSR перед отправкой.

Шаг 4: Обеспечьте безопасность приватного ключа

Файл приватного ключа (yourdomain.key) создаётся вместе с CSR. Переместите его в безопасное место и ограничьте права доступа:

sudo mkdir -p /etc/ssl/private
sudo mv yourdomain.key /etc/ssl/private/
sudo chmod 600 /etc/ssl/private/yourdomain.key

Этот ключ понадобится вам при установке SSL на Pound. Если вы потеряете приватный ключ, вам придётся сгенерировать новый CSR и перевыпустить сертификат.

Что происходит далее: установка сертификата на Pound

После того как CA проверит ваш запрос и выпустит сертификат, вы получите файлы сертификата (обычно сертификат сервера и пакет CA с промежуточными сертификатами). Pound требует все эти файлы, а также приватный ключ, объединённые в один PEM-файл в определённом порядке:

  1. Ваш сертификат сервера (например, yourdomain.crt).
  2. Промежуточные сертификаты (пакет CA).
  3. Ваш приватный ключ (например, yourdomain.key).

Команда для объединения выглядит так:

sudo sh -c 'cat yourdomain.crt yourdomain.ca-bundle /etc/ssl/private/yourdomain.key > /etc/ssl/pound.pem'
sudo chmod 600 /etc/ssl/pound.pem

Обратите внимание на путь к ключу: на Шаге 4 он был перемещён в /etc/ssl/private/, поэтому его больше нет в директории, из которой вы запускали команду OpenSSL. Ключ внутри этого файла не должен быть защищён паролем, поскольку Pound работает как демон и не имеет возможности запросить пароль — за это отвечает параметр -nodes в команде выше. Объединённый файл содержит ваш приватный ключ, поэтому храните его так, чтобы он был доступен для чтения только root-пользователю. Затем вы указываете блоку ListenHTTPS Pound путь к этому объединённому файлу с помощью директивы Cert. Полное руководство по установке см. в статье Как установить SSL-сертификат на Pound.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

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

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.