当前位置:首页 > linux教程 > 列表

Linux中利用openssl生成SSL证书给nginx使用

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-11 08:53:50 浏览: 评论:0 

下面来看一篇Linux中利用openssl生成SSL证书给nginx使用的教程,希望此教程能帮助到各位朋友.

这里说下Linux 系统怎么通过openssl命令生成 证书,首先执行如下命令生成一个4096位的key,代码如下:

openssl genrsa -des3 -out hupohost.key 4096

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

由于生成时候必须输入密码,你可以输入后再删掉,代码如下:

  1. mv ssl.key xxx.key 
  2. openssl rsa -in xxx.key -out hupohost.key 
  3. 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节点里加入以下配置就可以了,代码如下:

  1. ssl on
  2. ssl_certificate /home/hupohost.crt; 
  3. ssl_certificate_key /home/hupohost.key
  4. ssl_session_timeout 5m; 
  5. ssl_protocols SSLv2 SSLv3 TLSv1; 
  6. ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;  --phpfensi.com 
  7. ssl_prefer_server_ciphers on

然后重启nginx就大功告成了.

最重要的是,访问是https进行访问,代码如下:

  1. server{ 
  2.         listen 443; 
  3.         ssl on
  4.         ssl_certificate /usr/local/nginx/conf/vhost/ssl/hupohost.crt; 
  5.         ssl_certificate_key /usr/local/nginx/conf/vhost/ssl/hupohos.key
  6. }

Tags: openssl 生成SSL证书 nginx

分享到: