首先執行以下命令生成一個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; }