lego的官网地址
https://go-acme.github.io/
github地址
https://github.com/go-acme/lego
lego是一个Letsencrypt证书的客户端,因为是dns方式,所以自然是支持泛域名证书
lego提供很多dns provider,选择自己域名对应的provider,例如我的域名是阿里云购买的
dns provider是根据供应商提供的api做查询和校验,确保该域名的所有权属于你。
docker run -it --name lego --rm --env ALICLOUD_ACCESS_KEY=xxx --env ALICLOUD_SECRET_KEY= -v /docker/jifen/cert/letsencrypt/accounts:/.lego/accounts -v /docker/jifen/cert/letsencrypt/jifen.space:/.lego/certificates goacme/lego --accept-tos --email xxx@qq.com --dns alidns --domains domains
--rm表示执行完删除容器
lego用法
命令生成新的lego --email="foo@bar.com" --domains="example.com" run
请求重新生成lego --email="foo@bar.com" --domains="example.com" renew
按照时间生成证书
nginx 配置
server {
listen 443 ssl http2;
server_name localhost;
root /usr/share/nginx/html;
ssl_certificate /opt/mycert/yunmarket.info.crt;
ssl_certificate_key /opt/mycert/yunmarket.info.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH';
#ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
}
}