使用 acme.sh 申請Let's Encrypt 通配符證書

1、安裝acme.sh

curl 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;
···
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章