使用 OpenSSL 生成自签名证书
1.1 创建配置文件
创建 ip-san.cnf文件:
bash
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[ req_distinguished_name ]
countryName = CN
stateOrProvinceName = Beijing
localityName = Beijing
organizationName = MyCompany
commonName = 192.168.1.100 # 您的IP地址
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
IP.1 = 192.168.1.100 # 主IP
# 可以添加多个IP
# IP.2 = 10.0.0.1
# DNS.1 = example.com
1.2 生成证书(Linux)
bash
# 生成私钥
openssl genrsa -out server.key 2048
# 生成CSR
openssl req -new -key server.key -out server.csr -config ip-san.cnf
# 生成自签名证书(有效期10年)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extfile ip-san.cnf -extensions req_ext
# 生成PFX格式(Windows用)
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -password pass:123456
在 Nginx for Windows 使用证书
bash
# nginx.conf 配置
server {
listen 443 ssl;
server_name 192.168.1.100;
ssl_certificate /nginx/ssl/server.crt;
ssl_certificate_key /nginx/ssl/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root html;
index index.html;
}
}
在 Windows 上安装证书
bash
# 方法1:图形界面
# 1. 双击 server.pfx
# 2. 选择"本地计算机" → 下一步
# 3. 输入密码 → 勾选"标记此密钥为可导出"
# 4. 选择"根据证书类型,自动选择证书存储" 或
# 选择"个人" → 下一步 → 完成


密码123456





