CentOS 7配置Let’s Encrypt支持免费泛域名证书

Let’s Encrypt从2018年开始支持泛域名证书,有效期3个月,目前仅支持acme方式申请,暂不支持certbot。

1、安装acme.sh

curl https://get.acme.sh | sh

 

2、请求证书(泛域名以*.s-b.me为例)

cd /.acme.sh
./acme.sh --issue -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

输出:

[Sat Mar 24 13:10:07 UTC 2018] Registering account
[Sat Mar 24 13:10:08 UTC 2018] Registered
[Sat Mar 24 13:10:08 UTC 2018] ACCOUNT_THUMBPRINT='hS_gwvXaqMtxJh2Bz0asmWK3r7iMYIknkOWDqO1a76U'
[Sat Mar 24 13:10:08 UTC 2018] Creating domain key
[Sat Mar 24 13:10:09 UTC 2018] The domain key is here: /root/.acme.sh/*.s-b.me/*.s-b.me.key
[Sat Mar 24 13:10:09 UTC 2018] Multi domain='DNS:*.s-b.me,DNS:s-b.me'
[Sat Mar 24 13:10:09 UTC 2018] Getting domain auth token for each domain
[Sat Mar 24 13:10:10 UTC 2018] Getting webroot for domain='*.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] Getting webroot for domain='s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] Add the following TXT record:
[Sat Mar 24 13:10:10 UTC 2018] Domain: '_acme-challenge.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] TXT value: '6sf1Iuh7r****************bHPs8QriJf8ibpszRk'
[Sat Mar 24 13:10:10 UTC 2018] Please be aware that you prepend _acme-challenge. before your domain
[Sat Mar 24 13:10:10 UTC 2018] so the resulting subdomain will be: _acme-challenge.s-b.me
[Sat Mar 24 13:10:10 UTC 2018] Add the following TXT record:
[Sat Mar 24 13:10:10 UTC 2018] Domain: '_acme-challenge.s-b.me'
[Sat Mar 24 13:10:10 UTC 2018] TXT value: 'iA68V9A14****************mlrsZx24raM-S0gmpI'
[Sat Mar 24 13:10:10 UTC 2018] Please be aware that you prepend _acme-challenge. before your domain
[Sat Mar 24 13:10:10 UTC 2018] so the resulting subdomain will be: _acme-challenge.s-b.me
[Sat Mar 24 13:10:10 UTC 2018] Please add the TXT records to the domains, and re-run with --renew.
[Sat Mar 24 13:10:10 UTC 2018] Please add '--debug' or '--log' to check more details.
[Sat Mar 24 13:10:10 UTC 2018] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

 

3、参考输出,添加域名txt记录,以验证域名所有权

_acme-challenge.s-b.me    txt    iA68V9A14****************mlrsZx24raM-S0gmpI
_acme-challenge.s-b.me    txt    6sf1Iuh7r****************bHPs8QriJf8ibpszRk

 

4、申请泛解析证书

./acme.sh --renew -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

如果顺利,会在当前目录下生成以泛域名为名字的证书目录

/root/.acme.sh
*.s-b.me/
├── ca.cer
├── fullchain.cer
├── *.s-b.me.cer
├── *.s-b.me.conf
├── *.s-b.me.csr
├── *.s-b.me.csr.conf
└── *.s-b.me.key

 

5、配置nginx或其他web server以支持SSL访问

.cer            是证书文件
.key            是私钥文件
fullchain.cer 是证书链证书

 

6、证书续期

通过crontab或者其他定时任务系统执行

./acme.sh --renew -d *.s-b.me  -d s-b.me --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

 

 

【参考】

https://github.com/Neilpang/acme.sh

https://keelii.github.io/2016/06/12/free-https-cert-lets-encrypt-apply-install/

转载于:https://www.cnblogs.com/imzye/p/8641524.html

Let's Encrypt是一个提供免费、自动、开源SSL/TLS证书的服务。要在本地服务器上使用Let's Encrypt获取免费SSL证书,通常需要通过Certbot工具,这是一个由Let's Encrypt官方维护的客户端。以下是简要的步骤: 1. **安装Certbot**: - 对于Linux系统,你可以使用包管理器如apt-get(Debian/Ubuntu)或yum(CentOS/RHEL),命令如下: ``` sudo apt-get update && sudo apt-get install certbot python3-certbot-nginx ``` - 对于macOS,可以使用Homebrew: ``` brew cask install homebrew/cask-versions/letsencrypt ``` 2. **添加域名**: 首次运行Certbot时,它会引导你添加要保护的域名,并询问是否允许自动续期。 3. **获取证书**: ``` sudo certbot certonly --webroot -w /path/to/your/webroot/path -d example.com ``` `-w` 参数指定网站文件根目录,`-d` 后跟你要保护的域名。 4. **配置Web服务器**: - 如果你的服务器是Nginx, Certbot会自动生成`/etc/letsencrypt/live/example.com`下的证书文件和配置文件,你需要将它们集成到Nginx配置中。 5. **验证邮件或DNS**: Let's Encrypt可能会发送电子邮件来进行身份验证。如果没有收到邮件,检查垃圾邮件箱并确认邮件地址是否正确。如果使用的是DNS验证,按照指示完成相应的DNS记录设置。 6. **重启服务**: 证书安装后,记得重启Nginx服务让新配置生效: ``` sudo systemctl restart nginx ``` 7. **自动更新**: Certbot支持自动续期,你可以定期运行`sudo certbot renew`来检查并更新证书
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值