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

 

首先执行如下命令生成一个4096位的key

openssl genrsa -des3 -out hupohost.key 4096
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。

 

由于生成时候必须输入密码。你可以输入后 再删掉

mv ssl.key xxx.key
openssl rsa -in xxx.key -out hupohost.key
rm -rm xxx.key

 

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

openssl req -new -key hupohost.key -out hupohost.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)

 

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

openssl x509 -req -days 3650 -in hupohost.csr -signkey hupohost.key -out hupohost.crt
这里3650是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

 

如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey hupohost.key -in hupohost.crt -out hupohost.pfx

 

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

ssl on;
ssl_certificate /home/hupohost.crt;
ssl_certificate_key /home/hupohost.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
然后重启nginx就大功告成了

 

最重要的是,访问是https进行访问

server{
        listen 443;
        ssl on;
        ssl_certificate /usr/local/nginx/conf/vhost/ssl/hupohost.crt;
        ssl_certificate_key /usr/local/nginx/conf/vhost/ssl/hupohos.key;
}
端口一定是443端口

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论(6)

  • alen 2016 年 3 月 1 日 上午 1:43

    请问这个可以用在AMH上?

    • Yusky 永久会员 @ alen 2016 年 3 月 1 日 下午 3:59

      可以,只是会报证书错误,毕竟这个自己生成的是不会受信任的。

    • alen @ Yusky 2016 年 3 月 1 日 下午 9:32

      尝试过后,我决定放弃了。小站加个HTTPS也没必要

    • Yusky 永久会员 @ alen 2016 年 3 月 4 日 下午 3:53

      哈。本来也没啥用。就是装逼用。

    • alen @ Yusky 2016 年 3 月 5 日 上午 12:40

      相对有注册功能的还是安全一点。