现在https很流行,好多网站已经由http转向了https,https可以有效防止运营商的流量劫持,对站长来说是有一定的好处的,而且 苹果要求2017年开始应用内必须使用HTTPS 也加速了网站的https化。百度、Google等搜索引擎,也在大力推进 https 的建设。

要使用https,首先就需要有证书,我们可以购买一个好的证书,但在此之前,我们测试的时候,可以直接使用linux 系统的openssl工具生成一个自签名的证书。

自己签发 ssl 证书

首先执行如下命令生成一个key:

openssl genrsa -des3 -out ssl.key 1024

然后他会要求你输入这个key文件的密码,不推荐设置这个密码,因为以后要给nginx使用,每次reload nginx配置时候都要你验证这个PAM密码的。如果您希望每次重启nginx,都需要输入密码,您可以在这里输入一个健壮的密码。
由于生成时候必须输入密码,若不需要,可以输入后,再删掉。

openssl rsa -in ssl.key -out ssl_new.key

然后根据这个key文件生成证书请求文件:

openssl req -new -key ssl_new.key -out ssl_new.csr

以上命令生成时候要填很多东西,可以根据实际情况填写。

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

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

这里365是证书有效期,单位为,这个可以根据自己的实际情况填写。

最后使用到的文件是ssl_new.keyssl_new.crt文件。

如果需要用 pfx 可以用以下命令生成。

openssl pkcs12 -export -inkey ssl_new.key -in ssl_new.crt -out ssl_new.pfx