🔐 自签名 SSL 证书生成文档(适用于 Windows 和 Linux)

🔐 自签名 SSL 证书生成文档(适用于 Windows 和 Linux)


📋 证书信息说明

字段 含义 示例值
C 国家代码(Country) CN (中国)
ST 省份(State/Province) Guangdong (广东)
L 城市(Locality) Shenzhen (深圳)
O 组织名称(Organization) test
CN 公共名称(Common Name) 192.168.1.100 (访问 IP)

🖥️ Windows 操作步骤(含 OpenSSL 安装)

1. 下载并安装 OpenSSL

  1. 打开官网下载安装包:
  2. 选择对应系统架构(Win64 或 Win32)版本下载。
  3. 安装时注意:
    • 安装目录可设为 C:\Program Files\OpenSSL-Win64
    • 勾选 Add OpenSSL to the system PATH(或手动添加到环境变量)

2. 打开命令提示符(CMD)

cd C:\Program Files\OpenSSL-Win64\bin

3. 创建配置文件 openssl.cnf

C:\Program Files\OpenSSL-Win64\bin 下创建一个文件 openssl.cnf,内容如下:

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
prompt             = no
x509_extensions    = v3_req

[ req_distinguished_name ]
C  = CN
ST = Guangdong
L  = Shenzhen
O  = test
CN = 192.168.1.100

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
IP.1 = 192.168.1.100

4. 生成证书

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -config openssl.cnf -keyout privkey.pem -out cert.pem

生成后的文件:

  • cert.pem:公钥证书
  • privkey.pem:私钥

🐧 Linux 操作步骤(无需安装 openssl)

1. 创建目录并进入

mkdir -p /usr/local/nginx/conf
cd /usr/local/nginx/conf

2. 创建配置文件 openssl.cnf

cat > openssl.cnf <<EOF
[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
prompt             = no
x509_extensions    = v3_req

[ req_distinguished_name ]
C  = CN
ST = Guangdong
L  = Shenzhen
O  = youeran
CN = 192.168.1.100

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
IP.1 = 192.168.1.100
EOF

3. 生成证书和私钥

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -config openssl.cnf -keyout privkey.pem -out cert.pem

✅ Nginx 配置参考

将生成的 cert.pemprivkey.pem 放入你 Nginx 的 conf 目录中(或你设定的路径)。

Nginx 配置片段(nginx.conf 中的 server 段):

server {
    listen 80 ssl;
    server_name localhost;

    ssl_certificate     /usr/local/nginx/conf/cert.pem;
    ssl_certificate_key /usr/local/nginx/conf/privkey.pem;

    location / {
        root /webdata;
        index index.html;
    }
}

如需支持多个 IP 或本地域名,可以在 [ alt_names ] 中继续添加:

DNS.1 = localhost
IP.2 = 127.0.0.1
posted @ 2025-06-20 15:06  wandereryjh  阅读(231)  评论(0)    收藏  举报