快速签发免费的https证书
介绍几种快速签发LetsEncrypt
https证书的方法,证书免费3个月,可无限期续签.
使用acme
签发证书
https://github.com/Neilpang/acme.sh
https://github.com/xenolf/lego
dns 手动配置模式,申请泛域名
acme.sh --issue --dns -d domain.cn -d *.domain.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
# 按照提示配置dns txt 记录,然后生效后执行下面一句
acme.sh --issue --dns -d domain.cn -d *.domain.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please --renew
此时生成两条txt记录,需要添加,这两条记录都需要加到txt记录里
lego
使用golang
编写,acme.sh
使用bash
编写;使用都非常方便
ssl_certificate /root/.acme.sh/yourdomain.cn/yourdomain.cn.cer;
ssl_certificate_key /root/.acme.sh/yourdomain.cn/yourdomain.cn.key;
使用lego签发证书
签发证书之前,确保要签发的域名的解析是指向当前要运行lego
服务器的IP
签发过程中,lego
需要监听80
和443
端口,请确保有权限且未被占用.
证书的签发使用的当前服务器的IP和后续证书的使用没有关系
一次生成包含多个域名的证书.
./lego --email="suconghou@126.com" --domains="g.suconghou.cn" --domains="share.suconghou.cn" --domains="play.suconghou.cn" --domains="go.suconghou.cn" --http run
运行成功无报错的话,将会在目录下生成.lego
目录,里面存放证书
生成的 域名.crt
文件 和 域名.key
文件
key文件即为nginx中ssl_certificate_key
需配置的文件. 被称为 证书密钥
.crt 文件即为nginx中ssl_certificate
需配置的文件. 有的也称 fullchain.cer
被称为 授权证书
openssl req -x509 -nodes -newkey rsa:2048 -sha256 -keyout client.key -out client.crt
openssl req -x509 -nodes -newkey rsa:2048 -sha256 -keyout server.key -out server.crt
crt 2 pem
openssl x509 -in mycert.crt -out mycert.pem -outform PEM
使用DNS模式本地签发证书
lego -a --email="suconghou@126.com" --domains="www.shugulvliang.com" --dns manual run
echo | openssl s_client -connect your.domain.com:443 | openssl x509 -noout -dates
使用Caddy
签发证书
caddy 是一个golang
的http server,可以很方面开启http2,会生成证书
wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt
In REDHAT 7/ CentOS 7/ Oracle Linux 7:
Install the certificate in your enviroment.
Download Active PEM certificate from: https://letsencrypt.org/certificates/ in /etc/pki/ca-trust/source/anchors Execute: sudo update-ca-trust That’s all!
alpine 中添加lets-encrypt根证书
apk add --update --no-cache ca-certificates wget
wget -o /etc/ssl/certs/lets-encrypt-x3-cross-signed.pem https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt
update-ca-certificates