nginx配置https证书

因为最近我的ios司机们说要启用https,不然应用要下架,直接一身冷汗出来了。
走了一些冤路,但最终结果是实现了,把相关的步聚记录下来,希望对有需要的朋友有所帮助。

一、服务端生成密钥

1、生成一个RSA密钥
$ openssl genrsa -des3 -out api.xxx.key 2048

这里写图片描述

2、拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in api.xxx.key -out api.xxx_nopass.key
但这里我最后写nopass.key启动还是报错,又重新生成了一次,不知道为什么。
这里写图片描述

3、生成一个证书请求
$ openssl req -new -key api.xxx.key -out api.xxx.csr
www.startssl.com提供的执行命令是:
openssl req -newkey rsa:2048 -keyout api.xxx.key -out api.xxx.csr
这里写图片描述

4、自己签发证书——这一步应该由认证服务器来处理
$ openssl x509 -req -days 365 -in api.xxx.csr -signkey api.xxx.key -out api.xxx.crt

二、第三方签发证书(www.startssl.com例)

对于英盲很困难。。。。。。

1、验证域名
这里写图片描述

这里写图片描述

由于域名已经认证过了,所以这里就不作下一步操作了。主要是准备好跟域名一样后缀的邮件就好了。

2、签发证书
这里写图片描述

这里写图片描述

这里写图片描述

三、合并生成pem

cat api.xxx.crt api.xxx.key > api.xxx.pem

四、配置nginx

    server {
        listen       443 ssl;
        server_name  xxx.xxx.com.cn;

        ssl_certificate      /usr/local/nginx/ssl/xxd.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/xxd.key;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;
    }

启动时报错
这里写图片描述

启动时报错,因为我先用的是nopass.key,最好先切换到初始化key里面去启动一下是否正常,如果正常在重新生成一下nopass.key证书,启动nginx的时候免输入密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值