1. 程式人生 > >獲取Let`s Encrypt證書的三種方式

獲取Let`s Encrypt證書的三種方式

1,acme.sh 方式

1)獲取acme指令碼

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

2)開始獲取證書

acme.sh強大之處在於,可以自動配置DNS,不用去域名後臺操作解析記錄了,我的域名是在阿里註冊的,下面給出阿里雲解析的例子,其他地方註冊的請參考這裡自行修改:傳送門

請先前往阿里雲後臺獲取App_KeyApp_Secret 傳送門,然後執行以下指令碼

export Ali_Key="xxxxxxxxxxxxxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxx"

註釋: xxxxxxxxxxxxxxxx自行替換

acme.sh --issue --dns dns_ali -d  domain.com -d *. domain.com

註釋:domain.com自行替換為自己的域名

注意:步驟2我的操作的路徑在root使用者目錄下,/root/.acme.sh/下,執行上述命令後, 生成的證書位於/root/.acme.sh/domain/下,剩下的去配置就可以,可參考

acme.shcertbot的方式更加自動化,省去了手動去域名後臺改DNS記錄的步驟,而且不用依賴Python,牆裂推薦 

第一次成功之後,acme.sh會記錄下App_Key跟App_Secret,並且生成一個定時任務,每天凌晨0:00自動檢測過期域名並且自動續期。對這種方式有顧慮的,請慎重,不過也可以自行刪掉使用者級的定時任務,並且清理掉~/.acme.sh資料夾就行

2,docker方式

docker run --rm  -it  \
  -v "$(pwd)/out":/acme.sh  \
  -e Ali_Key="xxxxxx" \
  -e Ali_Secret="xxxx" \
  neilpang/acme.sh  --issue --dns dns_ali -d domain.com -d *.domain.com

成功之後,證書會儲存在當前目錄下的out資料夾,也可以指定路徑,修改上面第一行 "$(pwd)/out",改為你想要儲存的路徑即可。

詳細用法,可以參考:傳送門

3,certbot方式

參考