免费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 # 加载任务,生效

相关推荐

  1. 免费SSL证书Let‘sEncrypt安装

    2024-03-18 15:26:02       43 阅读
  2. ssl安全证书免费申请方法,非自签证书

    2024-03-18 15:26:02       28 阅读
  3. 为你的网站安装免费SSL TLS 证书

    2024-03-18 15:26:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 15:26:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 15:26:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 15:26:02       87 阅读
  4. Python语言-面向对象

    2024-03-18 15:26:02       96 阅读

热门阅读

  1. C#基础之异常处理

    2024-03-18 15:26:02       36 阅读
  2. Python中的with语句以及它的用途。

    2024-03-18 15:26:02       42 阅读
  3. Kafka 实现之分配(Distribution)

    2024-03-18 15:26:02       34 阅读
  4. react组件懒加载

    2024-03-18 15:26:02       40 阅读
  5. freemarker if 判断list 中的元素是否为null

    2024-03-18 15:26:02       45 阅读
  6. MySQL模块---安装并配置

    2024-03-18 15:26:02       38 阅读
  7. 牛津大学“领域驱动设计”课程

    2024-03-18 15:26:02       47 阅读
  8. 【 React 】React 组件之间如何通信?

    2024-03-18 15:26:02       46 阅读
  9. JVM学习-常量池、运行时常量池以及串池

    2024-03-18 15:26:02       44 阅读
  10. HTML世界之input标签

    2024-03-18 15:26:02       47 阅读
  11. UbuntuServer22.04配置静态IP地址

    2024-03-18 15:26:02       40 阅读
  12. PyTorch深度学习框架:综合入门与应用指南

    2024-03-18 15:26:02       45 阅读