苏苏的博客

简约至极

快速签发免费的https证书

介绍几种快速签发LetsEncrypthttps证书的方法,证书免费3个月,可无限期续签.

使用acme签发证书

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

https://github.com/xenolf/lego

lego使用golang编写,acme.sh使用bash编写;使用都非常方便

使用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" 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

使用Caddy签发证书

caddy 是一个golang的http server,可以很方面开启http2,会生成证书