在本教程中,我们将向您展示如何在 NGINX 上生成 CSR。
NGINX 本身不会生成 CSR。你需要用OpenSSL 创建私钥和 CSR,然后通过ssl_certificate和ssl_certificate_key 配置 NGINX 以使用签发的证书和密钥。
步骤 1:连接服务器终端
使用 SSH 连接服务器
第 2 步:创建私人密钥
在提示符下运行以下命令
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out yourdomain.key
将示例 替换为您的实际域名。 例如,如果要确保www.yourdomain.com 的安全,请输入yourdomain.key 和 yourdomain.csr
密钥保护注意事项:如果生成的是未加密密钥(此处为默认值),请设置严格的权限(例如,chmod 600 yourdomain.key)。未加密密钥会让 NGINX 在没有口令的情况下启动。如果对密钥加密,则应使用 NGINX 的ssl_password_file在启动/重载时提供口令。
3.使用 SAN 创建 CSR
运行以下命令
openssl req -new -sha256 -key example.key -out example.csr \
-subj "/C=US/ST=Georgia/L=Atlanta/O=Your Company LLC/CN=yourdomain.com" \
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
将您的域名 占位符替换为您的真实主机名。
如果您的 OpenSSL 缺乏-addext(版本早于 1.1.1),请使用配置文件。创建san.cnf:
[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
C = US
ST = Georgia
L = Atlanta
O = Your Company LLC
CN = example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = yourdomain.com
DNS.2 = www.yourdomain.com
然后运行以下命令:
openssl req -new -sha256 -key yourdomain.key -out yourdomain.csr -config san.cnf
提交企业社会责任
OpenSSL 实用程序将在当前目录下生成.csr 和.key 文件。将完整的 CSR(包括 BEGIN/END 行)粘贴到 CA 订购单中。


