nginx服务器部署SSL证书

来源:互联网 发布:数据交换技术 编辑:程序博客网 时间:2024/04/30 10:11

1 openssl安装

1.1.1 openssl解压

openssl安装包openssl-1.0.2d.tar.gz上传到目录/home

执行解压命令:

#tar -xzf openssl-1.0.2d.tar.gz

 

2 SSL证书生成

2.1.1 生成key

新建一个目录存放SSL证书生成文件

mkdir ssl

openssl genrsa -des3 -out server.key 2048 (生成的密匙文件需要设置密码,为以后方便nginx的启动,建议生成没有密码的key,如下步骤)

openssl rsa -in server.key -out server.key

 

2.1.2生成CA的crt

openssl req -new -x509 -key server.key -out ca.crt -days 3650 

生成的ca.crt文件是用来签署下面的server.csr文件。

 

 

 

 

2.1.3生成csr

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

需要依次输入国家,地区,组织,email。最重要的是有一个common name,写自己要以https访问的域名。

2.1.4生成crt

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt 

 

3 SSL在Nginx上部署

3.1.1配置nginx

将生成的server.crt  server.key拷贝到nginxconf目录下

修改nginx的配置文件nginx.conf如下:

     # HTTPS server

    #

    #server {

    #    listen       443 ;

    #    server_name  localhost;

 

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

 

    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;

 

    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;

 

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

#}

 

改为:

  # HTTPS server

    #

    server {

        listen       443 ;

        server_name  生成csr所填写的域名;

 

        ssl_certificate      server.crt;

        ssl_certificate_key  server.key;

 

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

 

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

 

        location / {

            root   html;

            index  index.html index.htm;

        }

}

修改完成后重启nginx,然后以https访问自己网站的域名

注意:由于SSL是绑定域名,所以得确定是否开通了外网IP对应的端口,HTTPS默认端口是443

0 0