免费SSL证书Let‘sEncrypt安装

1. Let’sEncrypt说明:

Let's Encrypt 是免费、开放和自动化的证书颁发机构由Linux基金会(Linux Foundation)进行日常管理维护,它为36.3亿个网站提供TLS证书的非盈利性证书颁发机构, 通过它我们可以免费申请网站证书,并您的网站上启用 HTTPS (SSL/TLS) 提供支持。
Let’s Encrypt 不控制或审查第三方客户端,也不能保证其安全性或可靠性。官方推荐使用 Certbot 客户端来签发证书,

官网:https://certbot.eff.org/

2. 获取和申请证书的流程:

 2.1、Certbot工具:通常,通过Certbot工具可以快速、简单地申请Let's Encrypt证书。Certbot支持多种服务器类型和操作系统,并提供了简化的命令行工具。

 2.2、证书申请:使用Certbot等工具,您可以申请证书并通过DNS或HTTP等方式完成域名所有权的验证。

 2.3、证书安装:申请成功后,证书将被下载并存储在服务器上,通常存储在/etc/letsencrypt目录中,并由Certbot或其他工具自动配置服务器以使用新的证书。

3.安装命令

使用snap进行安装,什么是snap,snap安装包是Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。
[root@iZuf69tzbfkht29jeb58kiZ ~]# yum install epel-release                 # 安装epel
[root@iZuf69tzbfkht29jeb58kiZ ~]# yum install snapd                        # 安装snapd
[root@iZuf69tzbfkht29jeb58kiZ ~]# systemctl enable --now snapd.socket      # 启用snapd.socket
[root@iZuf69tzbfkht29jeb58kiZ ~]# ln -s /var/lib/snapd/snap /snap          # 创建软链接
[root@iZuf69tzbfkht29jeb58kiZ ~]# snap install --classic certbot           # 安装certbot
[root@iZuf69tzbfkht29jeb58kiZ ~]# ln -s /snap/bin/certbot /usr/bin/certbot # 创建certbot软链接

4.证书生成

certbot certonly --nginx --email xx@qq.com -d xxx.域名.com
xx@qq.com 替换自己的邮箱,xxx.域名.com 替换自己的域名

生成的证书放在/etc/letsencrypt/live/[网站域名]下
此证书位置:/etc/letsencrypt/live/minio.medic-tutor.com/
生成证书
cert.pem  chain.pem  fullchain.pem  privkey.pem

5. Nginx配置证书

server {
  
   listen 443 ssl;
   server_name xxx.域名.com;   

   ssl_certificate "/etc/letsencrypt/live/xxx.域名.com/fullchain.pem";
   ssl_certificate_key "/etc/letsencrypt/live/xxx.域名.com/privkey.pem";
   ssl_session_cache shared:SSL:1m;
   ssl_session_timeout  10m;
   ssl_ciphers HIGH:!aNULL:!MD5;
   ssl_prefer_server_ciphers on;

   client_max_body_size 10m;

   location / {
        proxy_pass http://127.0.0.1:8080;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
   }
}

6.证书的有效时间是90天,certbot自动定时续期证书

certbot renew                 #手动测试,查看证书过期时间
certbot renew --force-renewal #忽略证书过期时间,直接重置证书时间
vim /etc/crontab
0 0 * * 1 certbot renew --renew-hook "service nginx reload"
#这个 cronjob 将在每周一自动执行证书续期,并在续期完成后重新加载Nginx

crontab /etc/crontab # 加载任务,生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值