首先执行以下命令生成一个keyphp
openssl genrsa -des3 -out ssl.key 1024css
而后他会要求你输入这个key文件的密码。不推荐输入。由于之后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。html
因为生成时候必须输入密码。你能够输入后 再删掉。nginx
mv ssl.key xxx.keyserver
openssl rsa -in xxx.key -out ssl.keyhtm
rm xxx.keyblog
而后根据这个key文件生成证书请求文件ssl
openssl req -new -key ssl.key -out ssl.csropenssl
以上命令生成时候要填不少东西 一个个看着写吧(能够随便,毕竟这是本身生成的证书)io
最后根据这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
在须要使用证书的nginx配置文件的新增一个server节点,里加入如下配置就能够了。
server { listen 443; server_name test.com ; ssl on; ssl_certificate /root/ssl.crt; ssl_certificate_key /root/ssl.key; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/test.com; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } access_log /home/wwwlogs/test.com.log; }