Этот учебник объясняет, как сгенерировать 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-файл в определённом порядке:
- Ваш сертификат сервера (например, yourdomain.crt).
- Промежуточные сертификаты (пакет CA).
- Ваш приватный ключ (например, 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


