一、下载并安装软件 在这个网站下载最新的软件并安装https://github.com/certbot/certbot/
github下载certbot安装程序
下载完成后直接双击安装就行了
安装完成后,以管理员方式运行cmd,输入cretbot --version,如果有显示就说明安装成功了
C : \Windows \System32 > certbot -- version
certbot 2.5 . 0
命令行工具使用说明
用法 :
certbot [ 子命令 ] [ 选项 ] [ - d 域名 ] [ - d 域名 ] ...
Certbot工具用于获取和安装 HTTPS / TLS / SSL 证书。默认情况下, Certbot会尝试为本地网页服务器
( 如果不存在会默认安装一个到本地 ) 获取并安装证书。最常用的子命令和选项如下 :
获取 , 安装 , 更新证书 :
( 默认 ) run 获取并安装证书到当前网页服务器
certonly 获取或更新证书,但是不安装
renew 更新已经获取但快过期的所有证书
- d 域名列表 指定证书对应的域名列表,域名之间使用逗号分隔
-- apache 使用 Apache插件进行身份认证和安装
-- standalone 运行一个独立的网页服务器用于身份认证
-- nginx 使用 Nginx插件进行身份认证和安装
-- webroot 把身份认证文件放置在服务器的网页根目录下
-- manual 使用交互式或脚本钩子的方式获取证书
- n 非交互式运行
-- test - cert 从预交付服务器上获取测试证书
-- dry - run 测试获取或更新证书,但是不存储到本地硬盘
证书管理 :
certificates 显示使用 Certbot生成的所有证书的信息
revoke 撤销证书 ( supply -- cert - path )
delete 删除证书
二、申请通配符证书 的命令 certbot certonly - d "*.example.top" - d example . top -- manual -- preferred - challenges dns - 01 -- server https : // acme - v02 . api . letsencrypt . org / directory
命令说明:
certonly 安装模式 -d 申请证书的域名,如果是通配符域名输入 *.http://example.com –manual 使用交互式或脚本钩子的方式获取证书 –preferred-challenges dns 使用 DNS 方式校验域名所有权 –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定
官网里v2说明
*.example.top换成你想要申请的域名就可以了,接下来,会提示需要进行手动验证DNS:
Saving debug log to C : \Certbot \log \letsencrypt . log
Requesting a certificate for *. example . top and example . top
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name :
_acme - challenge . example . top .
with the following value :
MeZetcO - 5 n_7WeJIitM_eAR8lWUZ2EQriWOg1OxBcaE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
我的域名是阿里云申请的域名,去域名解析那手动添加一条TXT记录就可以了,我这里申请的是通配符域名,还有一级域名,就需要添加两条记录来验证
Please deploy a DNS TXT record under the name :
_acme - challenge . example . top .
with the following value :
8 eBntKwxymhu1erZuE7J9KPZnuxmE6kiYnBrDD3DkXU
( This must be set up in addition to the previous challenges ; do not remove ,
replace , or undo the previous challenge tasks yet . Note that you might be
asked to create multiple distinct TXT records with the same name . This is
permitted by DNS standards . )
Before continuing , verify the TXT record has been deployed . Depending on the DNS
provider , this may take some time , from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools , such as the Google
Admin Toolbox : https : // toolbox . googleapps . com / apps / dig / #TXT/_acme-challenge.example.top.
Look for one or more bolded line ( s ) below the line ';ANSWER' . It should show the
value ( s ) you 've just added.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
根据提示操作完成后,在域名解析那就有两条TXT记录了,如下:
设置好之后的域名解析
接着就会显示申请成功的信息了
Successfully received certificate .
Certificate is saved at : C : \Certbot \live \example . top \fullchain . pem
Key is saved at : C : \Certbot \live \example . top \privkey . pem
This certificate expires on 2023 - 08 - 05.
These files will be updated when the certificate renews .
NEXT STEPS :
- This certificate will not be renewed automatically . Autorenewal of -- manual certificates requires the use of an authentication hook script ( -- manual - auth - hook ) but one was not provided . To renew this certificate , repeat this same certbot command before the certificate 's expiry date.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot , please consider supporting our work by :
* Donating to ISRG / Let 's Encrypt: https://letsencrypt.org/donate
* Donating to EFF : https : // eff . org / donate - le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
这里已经提示的证书的存放位置,直接进c盘去找就好了,这里发现这些文件是快捷方式,然后还有一个readme文件,打开里面提示是不要移动也不要修改名称,看一下快捷方式的属性就发现证书文件存在了另一个文件夹:C:\Certbot\archive
This directory contains your keys and certificates .
`privkey.pem` : the private key for your certificate .
`fullchain.pem` : the certificate file used in most server software .
`chain.pem` : used for OCSP stapling in Nginx >= 1.3 . 7.
`cert.pem` : will break many server configurations , and should not be used
without reading further documentation ( see link below ) .
WARNING : DO NOT MOVE OR RENAME THESE FILES !
Certbot expects these files to remain in this location in order
to function properly !
We recommend not moving these files . For more information , see the Certbot
User Guide at https : // certbot . eff . org / docs / using . html #where-are-my-certificates.
既然不让我移动或改名,那我复制出来使用就可以了。
三、关于续签证书 刚刚申请成功的地方,有一个关于续签的说明如下:
NEXT STEPS :
- This certificate will not be renewed automatically . Autorenewal of -- manual certificates requires the use of an authentication hook script ( -- manual - auth - hook ) but one was not provided . To renew this certificate , repeat this same certbot command before the certificate 's expiry date.
翻译过来就是说:
下一个步骤:
—该证书不会自动更新。——manual证书的自动更新需要使用身份验证挂钩脚本(——manual-auth-hook),但没有提供。要更新该证书,请在证书到期之前重复相同的certbot命令。
我理解就是如果下次经续签,可能就是要重新申请一次。反正也不麻烦,大概几分钟就搞定了,那就下次再重新申请吧。
转自https://zhuanlan.zhihu.com/p/627526278
该文章在 2025/6/10 14:47:32 编辑过