您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用acme.sh注冊免費的ssl證書”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
先決條件:首先我們需要有一個域名和一臺有公網IP的服務器
安裝acme.sh
curl https://get.acme.sh | sh
啟用別名
source ~/.bashrc
說明:
acme.sh 會安裝到 ~/.acme.sh 目錄下。安裝成功后執行 source ~/.bashrc
以確保腳本所設置的命令別名生效。
說明:普通用戶和 root 用戶都可以安裝使用. 安裝過程進行了以下幾步:
1.把 acme.sh 安裝到你的 home 目錄下: ~/.acme.sh/ ,并創建 一個 shell 的 alias, 例如 .bashrc,方便你的使用: alias acme.sh=~/.acme.sh/acme.sh
2.自動為你創建 cronjob, 每天 0:00 點自動檢測所有的證書, 如果快過期了, 需要更新, 則會自動更新證書。
查看幫助信息
acme.sh -h
卸載acme.sh
acme.sh --uninstall
切換CA機構
acme.sh --set-default-ca --server letsencrypt
說明:
acme.sh 支持四個正式環境 CA,分別是 Let’s Encrypt、Buypass、ZeroSSL 和 SSL.com,默認使用 ZeroSSL。
生成證書
acme.sh --issue -d example.com --standalone --keylength ec-256 --force
說明:
1. --standalone 模式下默認使用80端口,如果80端口被占用,添加 --httpport 參數使用80以外的端口
2. --keylength表示密鑰長度,后面的值可以是 ec-256
、ec-384
、2048
、3072
、4096
、8192
,帶有 ec
表示生成的是 ECC 證書,沒有則是 RSA 證書。在安全性上 256 位的 ECC 證書等同于 3072 位的 RSA 證書。
3. 生成的證書將放置在~/.acme.sh/example.com/ 目錄下:
example.com.cer | 證書文件 |
example.com.key | 私鑰 |
ca.cer | 中間證書 |
fullchain.cer | 證書鏈 |
4. 當前證書剩余有效期在30天以上時重新生成證書,需要使用--force參數
5. 建議在生成證書的時候添加 --staging 使用測試環境測試,不明白可參見后面的速率限制
更新證書
acme.sh --renew -d example.com
如果是ecc證書:
acme.sh --renew -d example.com --ecc
說明:
默認情況下acme.sh會自動更新即將過期的證書.可以不用手動更新
如果要更新有效期大于30天的,使用--force參數
部署證書
acme.sh --install-cert -d example.com
--key-file /path/to/keyfile/in/nginx/key.pem
--fullchain-file /path/to/fullchain/nginx/cert.pem
--reloadcmd
"service nginx force-reload"
說明:
其實就是拷貝證書到指定位置,生成的證書的目錄供acme.sh內部使用
查看已經生成的證書:
acme.sh --list
查看debug:
acme.sh --issue ..... --debug
查看error:
acme.sh --issue ..... --debug 2
生成日志:
acme.sh --issue ..... --log
使用測試環境
--staging
說明:
日志文件路徑為:~/.acme.sh/acme.sh.log
重復證書限制
概述:
所有簽發請求均受每周 5 個重復證書的限制。 當您超出重復證書限制時,您應該會從 ACME 客戶端收到如下錯誤消息:
too many certificates (5) already issued for this exact set of domains in the
last 168 hours: example.com login.example.com: see https://letsencrypt.org/docs/duplicate-certificate-limit
此錯誤所指的“確切集”是為此證書請求的主機名集:在此示例中,example.com
和 login.example.com
。 如果您的證書僅針對 1 個名稱(例如 example.com)頒發,那么您的證書的主機名“確切集”將是 [example.com]
。 當訂閱者在一周內為相同的“確切集”主機名請求證書超過 5 次時,就會超出此速率限制。
撤銷先前發布的證書將不會重置重復證書限制。 然而,仍然存在著這種情況。 如果您發現您已經超過了上限并且您仍然需要另一個證書來獲取相同的主機名,您總是可以要求一個不同的主機名“確切集”的證書。 例如,如果您超出了 [example.com]
的重復證書限制,那么為 [example.com, login.example.com]
請求證書將會成功。 同樣,如果您超出了 [example.com, login.example.com]
的重復證書限制,那么為 [example.com]
申請一個單獨的證書,為 [login.example.com]
申請另一個證書將會成功。
概述:
所有頒發請求都受到每個帳戶、每個主機名、每小時 5 次失敗的驗證失敗限制。 并且無法豁免。當您超過失敗驗證限制時,您會從您的ACME客戶端收到以下錯誤消息:
too many failed authorizations recently: see https://letsencrypt.org/docs/failed-validation-limit/
此錯誤所指的“授權”是您的 ACME 客戶端發送的授權請求的結果,用于在我們頒發或更新證書之前驗證對域名的控制。 此錯誤表示多個驗證請求已成功發送,但所有驗證嘗試均失敗。
測試環境使用與生產環境類似的速率限制,但具體數據有所變化:
每個注冊域名允許頒發的證書數量限制為每周 30000 張。
重復證書限制為每周 30000 張。
每小時允許 60 次驗證失敗。
每個 IP 地址注冊賬戶數量限制為每個 IP 每 3 小時允許注冊 50 個賬戶。
對于 ACME v2,新訂單限制為每個帳戶每 3 小時 1500 個。
Let's Encrypt官網:
Let's Encrypt - 免費的SSL/TLS證書 (letsencrypt.org)
“如何使用acme.sh注冊免費的ssl證書”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。