nginx配置SSL证书

1、openssl生成自签名SSL证书

生成私钥和自签名证书

openssl req -newkey rsa:4096 -nodes -sha256 -keyout /data/certs/domain.key -x509 -days 36500 -out /data/certs/domain.crt -subj "/C=CN/ST=Jiangsu/L=Changzhou/O=Quectel/OU=IT/CN=10.11.11.11"
#注释
openssl req:使用OpenSSL工具进行证书请求操作。
-newkey rsa:4096:生成一个新的RSA私钥,长度为4096位。
-nodes:生成的私钥不加密,不需要输入密码。
-sha256:使用SHA256算法进行摘要计算。
-keyout certs/domain.key:将生成的私钥保存到certs/domain.key文件中。
-x509:生成自签名的X.509证书。
-days 36500:设置证书的有效期为36500天(约100年)。
-out certs/domain.crt:将生成的证书保存到certs/domain.crt文件中。
-subj参数中C是Country(国家)、ST=是省(State or Province)、L=是城市(Location or City)、
O是(组织或企业Organization)、OU是(部门Organization Unit)、CN是(域名或IP:Common Name)

2、nginx配置SSL

server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        charset utf-8;
    }
}

3、生成合并IIS用的pfx证书

openssl pkcs12 -export -in /data/certs/domain.crt -inkey /data/certs/domain.key -out /data/certs/domain.pfx
#然后输入密码

#也可以生成带密码 -passout pass
openssl pkcs12 -export -in /data/certs/domain.crt -inkey /data/certs/domain.key -out /data/certs/domain.pfx -passout pass:xxxx