Let’s Encrypt 是什么?有何作用?
Let's Encrypt 是一个免费、自动化的证书颁发机构(Certificate Authority,简称 CA),旨在为网站提供免费的 SSL/TLS 证书。它于2015年成立,由 Electronic Frontier Foundation(EFF)、Mozilla Foundation、University of Michigan 等组织共同支持。
Let's Encrypt 的目标是通过简化证书颁发流程,推动整个互联网的加密普及。传统的 SSL/TLS 证书需要手动申请、验证身份、付费并进行周期性续签,这给网站管理员带来了一定的复杂性和成本。而 Let's Encrypt 采用了自动化的证书颁发流程,可以方便快速地获取和更新证书。
Let's Encrypt 的作用包括:
- 提供免费的 SSL/TLS 证书:Let's Encrypt 提供了免费的数字证书,使得网站管理员可以轻松地为其网站启用加密连接,实现安全传输和数据保护。
- 促进网站加密普及:由于免费且易于使用,Let's Encrypt 在推动整个互联网的加密普及方面发挥了重要作用。更多的网站采用 SSL/TLS 加密可以提升用户隐私和数据安全,减少网络攻击和信息泄漏的风险。
- 自动化证书管理:Let's Encrypt 提供了一套自动化的证书颁发流程和工具,使得证书的申请、验证和更新变得简单和便捷。通过使用 Let's Encrypt 提供的 ACME 协议,可以实现证书的自动续签,减少了证书管理的负担。
申请及使用
参考 申请 Let's Encrypt 通配符 HTTPS 证书[4]
根据不同系统,安装certbot
brew install certbot
或者
sudo apt-get install certbot
Certbot是一个由Let's Encrypt官方提供的免费开源的工具,它可以帮助用户自动化地获得、续期和部署SSL/TLS证书。 Certbot支持多种Web服务器,包括Apache、Nginx、Caddy等,用户可以使用Certbot来自动化地安装和配置SSL/TLS证书,以提高网站的安全性。
certbot -d n.dashen.tech(你要申请的证书,其实这里完全可以写*.dashen.tech) --manual --config-dir config --work-dir work --logs-dir logs --preferred-challenges dns certonly
其中,
--manual
:指定使用手动方式进行域名验证。这意味着certbot
将会提示用户手动添加 DNS TXT 记录或 HTTP 文件来验证域名所有权。这通常需要一定的技术知识和操作技巧。--config-dir config
:指定certbot
的配置文件目录为config
。在该目录下,certbot
将会保存证书和其他配置信息。--work-dir work
:指定certbot
的工作目录为work
。在该目录下,certbot
将会生成临时文件和其他工作文件。--logs-dir logs
:指定certbot
的日志文件目录为logs
。在该目录下,certbot
将会保存运行日志和其他信息。--preferred-challenges dns
:指定首选的验证方式为 DNS 验证。这意味着certbot
将会使用 DNS TXT 记录来验证域名所有权。certonly
参数表示只获取证书,而不进行证书安装。如果要同时获取证书和安装证书,可以使用run
命令代替certonly
命令。
按提示来即可~
中间需要去域名注册商管理后台,在你的域名下增加一条TXT解析,做验证用,证明这域名属于你---
一般有两种验证方式(称为Challenge),HTTP方式和DNS方式,增加TXT属于DNS方式。
(其实还有一种TLS-SNI-01的验证方式,目前用的不多,更多可参考 验证方式 )


再修改一下nginx配置,之后

重启Nginx,网站证书就生效了
/etc/init.d/nginx restart


测试自动续订
系统上的 Certbot 软件包附带一个 cron 作业或 systemd 计时器,它们会在证书过期之前自动续订证书。除非您更改配置,否则无需再次运行 Certbot。您可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
续订 certbot 的命令安装在以下位置之一:
/etc/crontab/
/etc/cron.*/*
systemctl list-timers
文章评论