苏苏的博客

简约至极

快速签发免费的https证书

介绍几种快速签发LetsEncrypthttps证书的方法,证书免费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需要监听80443端口,请确保有权限且未被占用.

证书的签发使用的当前服务器的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

https://vimsky.com/article/3608.html