letsencrypt的免费域名证书(支持通配符)

let's encrypt是一个专注于安全的非营利组织,官网为:https://letsencrypt.org/ 。它免费提供的证书被各大互联网企业所支持,不仅如此,还支持通配符域名证书,比如可以直接申请*.hustyx.com的证书,这在服务端布署可以省很多事情。不过,let's encrypt的证书只有三个月有效期,在过期之前需要再续签(renew)一把,let's encrypt提供了各种工具来简化这一过程,甚至如果你是使用的aws之类的大厂服务,工具还能自动化生成和布署,不过我还是喜欢生成证书后自己手动处理。

首先安装letsencrypt的证书机器人,只是当工具来用,所以就不装在系统里,而是装在某个指定路径,命令为:

pip install -t ./ certbot

然后设置好环境变量,确保certbot命令可用:

export PYTHONPATH=$PYTHONPATH:`pwd`/py_modules
export PATH=$PATH:`pwd`/py_modules/bin

接着就可以开始申请证书了:

certbot certonly -d *.hustyx.com --manual --config-dir=`pwd`/certificate --work-dir=`pwd`/certificate --logs-dir=`pwd`/certificate

接着,命令自动暂停,会让添加一条域名TXT解析,以验证域名的所有权,按提示添加好解析后,先自行用dig命令验证一下:

dig TXT _acme-challenge.hustyx.com

确认无误后,按回车让证书生成继续进行。

稍等一会,就出现Congratulations了,表明证书生成成功,并打印了存储路径,同时非常有心地放了一个README文件,里面描述了所有证书文件的用途,接着怎么使用就一目了然:

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).

通过如下命令可以查看本地生成的所有证书,以及他们的剩余有效天数:

certbot certificates --config-dir=`pwd`/certificate --work-dir=`pwd`/certificate --logs-dir=`pwd`/certificate

更新所有之前申请的快过期的证书:

certbot renew --config-dir=`pwd`/certificate --work-dir=`pwd`/certificate --logs-dir=`pwd`/certificate

 

发表于 2021年01月03日 22:36   评论:0   阅读:1498  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo