1、安装openSSL
(1)进入openssl-1.0.0a目录通过编译方式安装openssl
2、生成自签证书(CA)
(推荐在nginx下创建ssl目录)
(注*
centos8 秘钥长度低于2048位会报错)
(注*
My Root CA应替换为自签证书绑定的IP或域名,国家和地区自拟定)
(注*
x509: 这是用于处理 X.509 证书的子命令。
-days 3650: 指定证书的有效期,这里是 3650 天,相当于 10 年。
-in root_csr.pem: 指定输入文件,这里是证书签名请求文件,文件名为 root_csr.pem。
-signkey root_private_key.pem: 指定用于签名的私钥文件,这里是 root_private_key.pem,这个私钥应该与 CSR 相匹配。
-out root_certificate.pem: 指定输出文件,这里是生成的根证书文件,文件名为 root_certificate.pem。
-extensions v3_ca: 指定证书的扩展)
[v3_ca范例]
(注*
basicConstraints = CA:TRUE: 这是一个基本约束扩展,CA:TRUE 表示这个证书是一个 CA 证书,也就是说它可以用于签署其他证书。basicConstraints 是一个非常重要的扩展,它告诉验证者这个证书是否可以作为 CA 使用。
keyUsage = keyCertSign, cRLSign: 这是密钥用途扩展,它定义了证书持有者的公钥可以执行哪些操作。这里指定了两个用途:
keyCertSign: 表示公钥可以用于签署证书。
cRLSign: 表示公钥可以用于签署证书吊销列表(Certificate Revocation List,简称 CRL)。CRL 是一种用于列出被吊销的证书的列表,以确保这些证书不再被信任。)
(注*
CN=应替换为自签证书绑定的IP或域名,国家、地区和公司自拟定)
(注*
*.feng.com为泛域名
IP.1需填写你的nginx服务器地址)
(注*
x509: 用于处理 X.509 证书的子命令。
-req: 表示输入文件是一个证书签名请求(CSR,Certificate Signing Request)。
-in server_csr.pem: 指定输入文件,这里是服务器的证书签名请求文件,文件名为 server_csr.pem。
-CA root_certificate.pem: 指定用于签名的 CA(证书颁发机构)证书,这里是 root_certificate.pem。这表明服务器证书将由这个根证书颁发。
-CAkey root_private_key.pem: 指定 CA 的私钥文件,这里是 root_private_key.pem。这个私钥用于签署服务器证书。
-CAcreateserial: 这个选项指示 OpenSSL 创建一个新的序列号文件,通常用于记录已颁发的证书的序列号。这有助于管理证书的吊销和验证。
-out server_certificate.pem: 指定输出文件,这里是生成的服务器证书文件,文件名为 server_certificate.pem。
-days 3650: 指定证书的有效期,这里是 3650 天,相当于 10 年。
-extensions v3_req: 指定证书扩展的名称,这里使用 v3_req。这通常在配置文件中定义,用于设置证书的扩展属性,如密钥用途、基本约束等。
-extfile openssl.cnf: 指定配置文件,这里是 openssl.cnf。这个文件包含了证书扩展和其他证书属性的详细配置。)
2、Nginx服务配置实例
PS 如果出现pod2man错误,删除即可