Let's Encrypt免費泛域名SSL證書申請及自動續簽


1、安裝 acme.sh

進入服務器,執行命令:

$ curl  https://get.acme.sh | sh

普通用戶和root用戶都可以安裝使用,安裝腳本其實是進行了如下操作:1)會把 acme.sh 安裝到你所執行命令用戶的用戶目錄下: ~/.acme.sh/2)會創建 bash alias,方便你的使用:alias > acme.sh=~/.acme.sh/acme.sh3)會自動為你創建 cronjob 腳本,每天零點自動檢測所有的證書,如果某證書快過期需要更新,則會自動更新該證書。

安裝過程不會污染已有的系統任何功能和文件,所有后續的修改都將限制在安裝目錄中:~/.acme.sh/

2、驗證域名並生成證書

acme.sh 實現了 acme 協議支持的所有驗證協議,通常一般有幾種方式驗證域名:HTTP文件驗證DNS驗證 等,具體驗證方式可查閱腳本github文檔

方式1、HTTP文件驗證:

$ acme.sh --issue -d qq.com -d *.qq.com -w /home/webroot

注意:對於通配符證書需要加 -d 域名 -d *.域名 兩個參數-w 即webroot,為該 域名 通過http所訪問到的本地目錄上面這段過程將會在 /home/webroot 創建一個 .well-known 的文件夾,同時 Let’s Encrypt 將會通過你要注冊的域名去訪問那個文件來確定權限,它可能會去訪問 http://qq.com/.well-known/ 這個路徑,驗證成功會自動清理。

方式2、DNS-API驗證:‌ ‌通過DNS服務器提供 keysecret 實現自動驗證,詳情‌ ‌https://github.com/Neilpang/acme.sh/tree/master/dnsapi‌ ‌例如,在騰訊雲解析的域名,請前往 https://www.dnspod.cn/console/user/security 控制台中申請子賬號 API Token 並執行命令:

$ export DP_Id="6*ID*0" $ export DP_Key="aa445e***TOKEN***5fe26e"
$ acme.sh --issue -d qq.com -d *.qq.com --dns dns_dp

注意:對於通配符證書需要加 -d 域名 -d *.域名 兩個參數DP_Id DP_Key 將會保存在 ~/.acme.sh/account.conf

執行上述命令后,證書文件將會自動申請被存放在 ~/.acme.sh/ 對應的域名文件夾中,如:~/.acme.sh/qq.com 。后續 acme.sh 將會自動更新該文件夾內的證書。

3、部署nginx

參考:https://github.com/Neilpang/acme.sh/wiki/說明

1) 拷貝證書

$ acme.sh --install-cert -d qq.com \ --key-file /etc/nginx/ssl/qq.com.key \ --fullchain-file /etc/nginx/ssl/qq.com.cer \ --reloadcmd 'service nginx force-reload'

注意:通過該命令可將 ~/.acme.sh/qq.com 內的證書copy到指定位置/etc/nginx 為nginx服務器實際的地址(可修改為自己服務器對應的地址)service nginx force-reload 為nginx重啟命令(可修改為自己服務器對應的命令),force-reload 會重載證書后續 acme.sh 簽發了新證書后就自動完成該拷貝過程

2) 配置nginx

Nginx-Conf‌ ‌vim /etc/nginx/conf.d/qq.com.conf

# http(80) -> https(443/ssl) server { listen 80; server_name qq.com; rewrite ^(.*)$ https://$host$request_uri; } # qq.com server { listen 443; server_name qq.com; include ssl/qq.com.ssl.conf; location / { # todo } }

SSL-Conf‌ ‌vim /etc/nginx/ssl/qq.com.ssl.conf

ssl on;
ssl_certificate ssl/qq.com.cer; ssl_certificate_key ssl/qq.com.key;














參考地址 https://cloud.tencent.com/developer/article/1500063




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM