基于Nginx的https服务(ssl证书制作)

20 篇文章 4 订阅

 

一、证书作用

SSL证书属于数字证书的一种,类似于驾驶证、护照。遵循SSL协议,由信任的数字证书颁发机构CA在验证服务器身份后颁发;

SSL证书的好处:参考链接https://baijiahao.baidu.com/s?id=1610739873505104305&wfr=spider&for=pc

SSL证书将会带来前所未有的安全加密和更快速的访问体验
1 防止中间人流量劫持
2 Https加密使网站更安全
3 保障用户隐私信息安全
4 帮助用户识别钓鱼网站
5 http将被标记“不安全”
6 提升搜索排名
7 提升公司形象和可信度

二、SSL证书制作

1、SSL证书制作依靠openssl,首先检查OpenSSL:一般centos7上默认装好了

[root@zq testzq]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

2、生成私钥和自签名的SSL证书:

2.1、生成私钥,参数genrsa:生成RSA私钥;-des3:des3算法;-out server.pass.key:生成的私钥文件名;2048:私钥长度

[root@zq testzq]# openssl genrsa -des3 -out server.pass.key 2048                
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.......................+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key:                #输入一个4位以上的密码

[root@zqtestzq]# ll
-rw-r--r-- 1 root root 1751 1月  20 11:01 server.pass.key   #有密码的私钥文件

2.2、去除私钥中的密码

[root@zq testzq]# openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key

[root@zq testzq]# ll
-rw-r--r-- 1 root root 1679 1月  20 11:01 server.key            #无密码的私钥文件
-rw-r--r-- 1 root root 1751 1月  20 11:01 server.pass.key    #有密码的私钥文件

2.3、生成CSR(证书签名请求文件)

[root@zq testzq]# openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn"

参数说明:# req 生成证书签名请求    
                  # -new 新生成             
                  # -key 私钥文件                 
                  # -out 生成的CSR文件               
                  # -subj 生成CSR证书的参数

 

2.4、生成自签名的SSL证书

[root@zq testzq]# openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt  #-days:证书有限期(天)
Signature ok
subject=/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn
Getting Private key

[root@zq testzq]# ll
-rw-r--r-- 1 root root 1241 1月  20 11:00 server.crt             #自签名的SSL证书
-rw-r--r-- 1 root root 1021 1月  20 11:00 server.csr            #签名文件
-rw-r--r-- 1 root root 1679 1月  20 11:01 server.key            #无密码的私钥文件
-rw-r--r-- 1 root root 1751 1月  20 11:01 server.pass.key   #有密码的私钥文件

三、在服务端配置ssl.conf

server {
    listen       8443;
    ssl          on;
    ssl_certificate /home/testzq/server.crt;      #配置已签名的SSL证书.crt
    ssl_certificate_key /home/testzq/server.key;  #配置已签名的证书私钥.key
    .............................................


server {
    listen       443;
    ssl          on;
    ssl_certificate /home/testzq/server.crt;
    ssl_certificate_key /home/testzq/server.key;

重启nginx服务:

[root@zq testzq]# service nginx restart
Redirecting to /bin/systemctl restart nginx.service

四、验证证书是否配置成功

两种方法:

1、浏览器直接查看
2、服务端使用OpenSSL工具查看

4.1、浏览器直接查看

4.2、服务端使用OpenSSL工具,执行如下命令 openssl x509 -in diserver.crt -noout -dates即可看到证书的有效起止时间

[root@zq]# openssl x509 -in diserver.crt -noout -dates
notBefore=Jan 20 06:53:09 2020 GMT
notAfter=Jan 18 06:53:09 2025 GMT

注:自签名的SSL证书存在安全隐患,在生产环境上需要购买和使用经权威机构认证和办法的证书

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值