通过docker容器创建nginx服务(二)

搭建HTTPS服务

上一篇我们创建好了nginx的http服务,本篇我们说一下搭建https的操作!

https需要ssl证书,证书可以通过阿里云生成,也可以自生成私钥和证书。本篇从使用openssl工具 自生成私钥和证书 角度进行操作

一:介绍

私钥(key): 明文

公钥(csr) : 由私钥生成

证书 (crt) : 公钥 + 签名(自签名或者由CA签名)

签名:              使用私钥与公钥进行证书生成的过程称为签名

二:私钥

openssl genrsa -des3 -out privateKey.key 2048  //#使用ssl生成私钥( privateKey.key)

注意:1.私钥长度不能设置成1024位,必须2048位,不然nginx不能启动

           2.记住使用的密码,后续还需要使用

三:公钥

openssl req -new -key privateKey.key -out server.csr  //基于创建的privateKey.key私钥创建server.csr公钥

四:解密的私钥

openssl rsa -in privateKey.key -out privateKey.key.unsecure    //基于privateKey.key私钥生成privateKey.key.unsecure的解密私钥

五:生成证书

 -req指定要生成的证书是由证书请求 (CSR) 生成的。

-days为有效期365天

-in指定公钥。

-signkey指定私钥。

-out 指定生成的证书名为certificate.crt。

方法1:需要输入私钥密码
openssl x509 -req -days 365 -in publicKey.csr -signkey privateKey.key -out certificate.crt
//使用私钥和公钥生成certificate.crt签名证书


方法2:
openssl x509 -req -days 365 -in publicKey.csr -signkey privateKey.key.unsecure -out certificate.crt   //使用解密私钥和公钥生成签名证书(certificate.crt)

六:配置证书

# 目录地址为nginx-ssl/nginx/conf.d/default.conf

server {
    listen 443 ssl;
    server_name localhost;
 
    ssl_certificate /etc/nginx/cert/certificate.crt;
    ssl_certificate_key /etc/nginx/cert/privateKey.key.unsecure;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

七:验证

浏览器输入 https://172.16.100.111/

到此  https搭建成功 !

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值