最近在玩 STARTSSL 感觉个人站点使用这个SSL差不多也够用了。真正商用的SSL当然也可以自行购买。
我个人是为了防止数据中间被抓走,所以用了startssl 也基本就够用了。
转回正题,startssl生成证书后,放到配置文件中,重启每次卡在Enter PEM pass phrase:需要输入密码
这很不方便,
网上流传办法:
这种情况可能是在设置私钥key时将密码设置写入了key文件,导致Nginx/Apache等系列服务器在启动时要求Enter PEM pass phrase。我们需要做的是剥离这个密码,利用如下OpenSSL命令生成server.key.unsecure文件:
openssl rsa -in server.key -out server.key.unsecure
如果server.key.unsecure生成成功,我们就修改Nginx配置,比如像下面这样:
# 这里是SSL的相关配置
server {
listen 443;
server_name www.example.com; # 你自己的域名
root /home/www;
ssl on;
ssl_certificate /etc/nginx/certs/server.crt;
# 修改下面这一行指向我们生成的server.key.unsecure文件
ssl_certificate_key /etc/nginx/certs/server.key.unsecure;
}
然后使用/etc/init.d/nginx restart重启Nginx,是不是发现不再提示了,整个世界清净了吧:-)
有些童鞋可能苦于VPS的配置,精简掉了OpenSSL,从而没有openssl命令,那怎么办呢?你可以不在服务器上做这个操作,把原先的key文件下载到本地客户端,然后再openssl吧。什么?Windows怎么办?没关系,Windows下有OpenSSL for Windows,没有的童鞋赶紧下载下来使用吧。
我使用startsll 他控制面板自带了解密工具。Tool Box -> Decrypt Private Key 输入之前生成的key和key的密码解密即可。