bg-tutorials

如何为Pound生成CSR

本教程介绍如何为 Pound(轻量级反向代理和负载均衡器)生成 CSR(证书签名请求)。由于 Pound 没有内置的 CSR 工具,您需要使用 OpenSSL 创建 CSR 和私钥,然后将 CSR 提交给证书颁发机构。

注意: 最初的 Apsis Pound 项目在 2022 年 9 月 Apsis GmbH 解散后已停止维护。目前积极维护的后续版本是 graygnuorg/pound 分支(目前版本为 4.x)。下面介绍的 CSR 生成流程同时适用于旧版 Pound 和当前的分支版本,因为该流程依赖于 OpenSSL,而非 Pound 本身。

生成 CSR 和私钥

您有两种方式来生成 CSR:

  • 使用 CSR 生成器 自动创建 CSR,无需运行任何命令。
  • 如下所述,在运行 Pound 的服务器上使用 OpenSSL 手动生成 CSR。

第 1 步:运行 OpenSSL 命令

通过 SSH 连接到您的 Pound 服务器,并运行以下命令。将每个占位符替换为您的实际信息:

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,即您将提交给 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 工具验证 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

在 Pound 上安装 SSL 时会用到此密钥。如果私钥丢失,您将需要生成新的 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 用户可以读取该文件。然后,您需要使用 Cert 指令,将 Pound 的 ListenHTTPS 配置块指向这个合并后的文件。完整的安装步骤请参阅如何在 Pound 上安装 SSL 证书。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 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.