自学内容网 自学内容网

Let‘s Encrypt 申请免费 SSL 证书(每隔60天自动更新证书)

官网

文档

简介

Let’s Encrypt 是一个非营利组织提供的免费SSL/TLS证书颁发机构,旨在促进网站加密和网络安全普及化。

  • 免费性质: Let’s Encrypt 提供的SSL证书完全免费,没有任何费用。这使得任何网站都可以轻松获取和部署HTTPS加密,无需支付昂贵的证书费用。

  • 自动化: Let’s Encrypt 支持自动化证书颁发和更新过程。使用自动化工具(比如 Certbot),可以轻松地配置服务器以自动申请、安装和更新证书,无需人工干预。

  • 开放标准: Let’s Encrypt 遵循开放、透明和合作的原则。他们的证书签发过程和证书信息都是公开的,符合Web安全和隐私保护的最佳实践。

  • 支持广泛: Let’s Encrypt 的证书得到了各大操作系统、浏览器和服务器的广泛支持,可以与几乎所有的Web服务器(如Apache、Nginx等)和操作系统(如Linux、Windows等)兼容使用。

  • 推动HTTPS普及: Let’s Encrypt 的出现大大促进了全球范围内网站从不安全的HTTP协议向安全的HTTPS协议过渡。这有助于保护用户隐私、增强网站安全性,并提升搜索引擎排名。

安装 Nginx

sudo yum update
sudo yum install -y nginx
# 启动 nginx 服务
sudo systemctl start nginx
sudo systemctl enable nginx
# 配置防火墙(如果需要)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# nginx 配置目录
cd /etc/nginx/conf.d/
# 重新加载配置命令
nginx -s reload

acme.sh

yum install -y git socat
# 下载源码
git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
# 查看帮助
./acme.sh -h
# 安装 acme.sh
./acme.sh --install -m xxxxxxxx@qq.com

在这里插入图片描述

生成证书

  • 配置 Nginx 验证域名所有权
cd /etc/nginx/conf.d/
location ^~ /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /usr/share/nginx/html; 
}

在这里插入图片描述

  • 域名所有权完成验证后将自动生成证书
./acme.sh --issue -d mydomain.com -w /usr/share/nginx/html

在这里插入图片描述

  • http://mydomain.com/.well-known/acme-challenge/wyN1055oc15cznMobG4UktJmsv-1XzLs02wHX4ItZ44

注意: 验证文件会自动生成在 /usr/share/nginx/html/.well-known/acme-challenge/ 目录下,域名所有权验证完成后会自动删除验证文件。

智能化生成证书

  • 智能的从 nginx的配置中自动完成验证并生成证书
./acme.sh --issue -d mydomain.com --nginx
  • Nginx 配置文件会自动添加以下内容
#ACME_NGINX_START
location ~ "^/\.well-known/acme-challenge/([-_a-zA-Z0-9]+)$" {
  default_type text/plain;
  return 200 "$1._8n2zB99yJbdcviQ_YNGlAdW6N3M2BJbgzbaYVAacuQ";
}
#NGINX_START

安装证书

./acme.sh --install-cert -d mydomain.com \
--key-file       /etc/nginx/ssl/mydomain.com.key  \
--fullchain-file /etc/nginx/ssl/mydomain.com.pem \
--reloadcmd     "service nginx force-reload"
  • 或者把证书文件输出到 /home 目录
./acme.sh --install-cert -d mydomain.com \
--key-file       /home/mydomain.com.key  \
--fullchain-file /home/mydomain.com.pem

查看已安装证书

./acme.sh --info -d mydomain.com

在这里插入图片描述

更新证书

crontab  -l

56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心。


原文地址:https://blog.csdn.net/weixin_42607526/article/details/140156634

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!