自签发免费ssl证书,为nginx生成自签名ssl证书

 

这里说下Linux 系统怎么通过openssl命令生成 证书。

1、首先执行如下命令生成一个.key文件
openssl genrsa  -out ssl.key 1024

#运行openssl命令,生成1024位长的私钥ssl.key文件。如果您需要对 ssl.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache、nginx都需要您输入该私钥密码(例:openssl genrsa -des3 -out ssl.key 1024)。

3、然后根据这个key文件生成.csr 证书请求文件
openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书),建议不填,直接回车。

4、最后根据这2个文件生成.crt证书文件

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx

5、在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。

server {
    listen 443 ssl;
    ssl_certificate   /home/ssl.crt;
    ssl_certificate_key   /home/ssl.key;

}

原文地址:https://www.cnblogs.com/ellisonzhang/p/14104640.html