正文开始:(绿色文字为关键命令)

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

创建存放证书的目录,此目录可自定义

cd /etc/nginx

mkdir key

cd key

 

执行如下命令生成一个key

openssl genrsa -des3 -out ssl.key 4096
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。

mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr

以上命令生成时候要填很多东西 如图:

最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件

 

sudo openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

 
  1. #                如果需要用pfx 可以用以下命令生成

  2. #                openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx

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

server {
    listen 443;#https默认使用443端口
    server_name 0.0.0.0; #将0.0.0.0替换为你的网站域名或ip

    ssl on;
    ssl_certificate /etc/nginx/key/ssl.crt;
    ssl_certificate_key /etc/nginx/key/ssl.key;
    ssl_session_timeout 5m;
    ssl_protocols SSLv2 SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    ssl_prefer_server_ciphers on;

     location / {
            ... ...自定义配置, 参考博客:
          }

 
  1. }

  2. 然后重启nginx就大功告成了

Logo

更多推荐