使用 acme.sh 申请Let‘s Encrypt 通配符证书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 acme.sh 申请Let‘s Encrypt 通配符证书相关的知识,希望对你有一定的参考价值。
1、安装acme.shcurl https://get.acme.sh | sh
2、使用dns API得方式申请证书
dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证.
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.
以 dnspod 为例, 你需要先登录到 dnspod 账号, 生成你的 api id 和 api key, 都是免费的. 然后:
export GD_Key="e2ndjW9X6_415njLoZNx6f719WSQ"
export GD_Secret="41QxgoBeYECbPtcE"
/root/.acme.sh/acme.sh --issue --dns dns_gd -d 0xsyshell.com -d ‘*.0xsyshell.com‘
证书就会自动生成了. 这里给出的 api id 和 api key 会被自动记录下来, 将来你在使用 dnspod api 的时候, 就不需要再次指定了. 直接生成就好了
3、安装到我们指定的位置,并与nginx关联,达到自动更新证书得目的
mkdir /data/ssl
/root/.acme.sh/acme.sh --installcert -d 0xsyshell.com --key-file /data/ssl/0xsyshell.com.key --fullchain-file /data/ssl/0xsyshell.cer --ca-file /data/ssl/0xsyshell.com.ca.cer --reloadcmd "/usr/local/openresty/nginx/sbin/nginx -s reload"
4、在nginx中server模块内配置如下:
··· #省略部分配置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
ssl_certificate /data/ssl/0xsyshell.com.cer;
ssl_certificate_key /data/ssl/0xsyshell.com.key;
ssl_trusted_certificate /data/ssl/0xsyshell.com.ca.cer;
···
以上是关于使用 acme.sh 申请Let‘s Encrypt 通配符证书的主要内容,如果未能解决你的问题,请参考以下文章
用acme.sh申请免费ssl证书-let's encrypt
sdm 使用阿里云域名申请 Let’s Encrypt 通配符 域名证书
CentOS 7配置Let’s Encrypt支持免费泛域名证书