如何申请免费SSL证书,并部署到Nginx?

        HTTPS是一种通过加密来保护网络通信安全的协议,对于保护网站和用户数据的安全至关重要。而要实现HTTPS安全通信,就必须要有SSL/TLS证书,传统上,获取和配置SSL/TLS证书需要一定的成本和技术知识,这对于小型网站、个人博客等资源有限的实体来说可能是一个障碍。因此申请免费的SSL证书就显得非常的有必要。

        申请免费的SSL证书有很多种途径,在国内的华为云、阿里云和腾讯云等都可以申请到免费3个月的SSL证书,但这里我们讲的是另一种方式,那就是Let's Encrypt 。为什么选择这种方式呢?因为通过Let's Encrypt 网站申请证书非常方便。

        Let's Encrypt是一个提供免费SSL/TLS证书的服务,旨在使HTTPS加密通信更加普及和易于实现。Let's Encrypt的目标是通过提供免费、自动化和开放的SSL/TLS证书,促进整个互联网的加密。它的证书由现代浏览器所信任,因此网站使用Let's Encrypt证书可以得到与商业SSL证书相同的安全保障,同时也为网站所有者节省了成本。

Let's Encrypt证书的特点包括:

  1. 免费: Let's Encrypt提供的SSL/TLS证书完全免费,没有任何隐藏费用。
  2. 开放: Let's Encrypt的证书管理工具和协议是开放的,任何人都可以访问并使用。
  3. 安全: Let's Encrypt证书采用现代加密算法,提供与商业SSL证书相当的安全性。

接下来我们详细介绍从Lets Encrypt申请证书和发布部署证书的过程:

一、申请证书

(1)申请证书之前,需要准备好用于绑定证书的域名(假如您的域名是:abc.yuming.com)。这个域名必须能够正常访问,也就是说通过浏览器可以正常访问:http://abc.yuming.com 。

(2)打开网站: 来此加密 - Let's Encrypt 在线免费申请SSL证书

(3)点“立即开始”,注册用户。(如果已注册用户,直接点“登录”)

(4)登录之后,选择“申请证书”,之后照着申请证书的指引,一步步完成证书的申请。一般来说,直接按照默认的选项申请就行。

(5)提交申请成功之后,还要进行一次手工验证。验证方式建议选择DNS验证。如下图所示:

(6)在您的域名管理网站,根据系统提示的DNS验证资料,添加一条TXT域名解析记录,完成之后,点击验证。等待验证通过之后证书就申请到手啦。

在申请证书的第二步,如果选择自定义CSR,可以使用以下网站创建CSR文件:SSL在线工具-CSR在线生成-CSR在线创建-证书请求文件生成-SSLeye官网

 从Let's Encrypt网站将证书申请到手之后,可以将证书下载到本地,也有如何部署到tomcat、nginx等几个常见的应用服务器的部署指引。

解压后的证书文件如下:

二、部署证书

接下来我们详细介绍如何将证书部署到nginx。

(1)在nginx根目录下,创建cert目录。并将解压后的所有证书文件,直接上传到这个目录下。(假如nginx根目录为 /usr/local/nginx )

(2)修改nginx的配置文件

server {
        listen       443 ssl;
        server_name  abc.yuming.com;

        ssl_stapling on;
        ssl_stapling_verify on;  

        ssl_certificate      /usr/local/nginx/cert/fullchain.crt;
        ssl_certificate_key  /usr/local/nginx/cert/private.pem;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        #  ssl_ciphers  HIGH:!aNULL:!MD5;
	    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers  on;      

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

(3)测试nginx配置是否正确:nginx -t  ,如果出现下图所示错误,则说明nginx未安装ssl模块,需要安装ssl模块后,再执行配置测试。(如何安装ssl模块,网上很多,这里不说了。)

(4)重新加载配置:nginx -s reload 

三、测试访问

在浏览器中,直接输入:https://abc.yuming.com,如果出现下图所示页面,表示证书部署成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值