windows下Nginx自签ssl证书
输入以下命令生成服务器私钥
openssl genrsa -des3 -out server.pass.key 2048
命令解释如下:
genra:生成RSA私钥
-des3:使用des3算法
-out :指定生成文件名
2048:私钥长度设置为2048
3.去除私钥中的密码
4.生成证书签名请求(.csr文件)
输入以下命令生成证书签名请求:
openssl req -new -key server.key -out server.csr
req:生成证书签名请求
-new:新生成
-key:私钥文件
-out:指定生成的CSR文件名
-subj:生成CSR证书的参数
subj参数说明如下:
字段 全称 举例
/C= Country 国家 CN
/ST= State or Province 州/省 Hebei
/L= Location or City 城市 QHD
/O= Organization 组织/企业 ZYF
/OU= Organization Unit 部门 DEV
/CN= Common Name 域名or IP www.yourdomain.com 或者 192.168.x.x
把key.pem
和cert.pem
复制到合适目录,在配置nginx
即可
4.生成自签名SSL证书(.crt文件)
输入以下命令生成自签名SSL证书
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
参数介绍:
-days:证书有效期
-req:需要证书
-in:输入csr文件
-signkey:指定 .key 文件
-out:输出crt文件
文件夹总共有4个文件,server.pass.key 、server.key、server.csr、server.crt。
其中配置nginx的话需要server.key和server.crt两个文件。
至此,证书生成完成。
server {
listen 443 ssl;
server_name your_domain_or_IP;
ssl_certificate xxx/server.crt;
ssl_certificate_key xxxx/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}