驗證的三種方式:
- 域名備案;這個不用說了吧,說多了也不好;
- 暫時將域名解析到境外服務器,獲取到證書更新后再解析回來;
- 域名驗證從http改成dns。
前兩個辦法比較簡單,本文不再多說。這里說一下用dns方式驗證域名的步驟。
dns驗證有兩個重要參數:
- –preferred-challenges,驗證方式,填寫dns或dns-01;
- –server, 驗證服務器,填寫https://acme-v02.api.letsencrypt.org/directory
還有一個--manual
參數,但在“非交互式”環境下,必須同時指定--manual-auth-hook
選項。什么是“非交互式”環境?renew
就是非交互式環境,因為不需要外部輸出和參與;而certonly
(一般)是交互式的,因為執行過程中需要用戶輸入必要的信息。
本人沒看auth-hook
腳本的寫法,所以用dns方式renew
證書是不可行了。那就干脆重新再獲取一次證書吧!輸入命令:
certbot certonly -d 域名 --preferred-challenges dns --manual --server https://acme-v02.api.letsencrypt.org/directory
命令會詢問是否同意記錄當前機器的ip,必選“y”(選n會導致腳本退出)。接着命令會輸出dns記錄的驗證信息,按照指定值在dns控制台加上 TXT 記錄。dns記錄添加完成后等半分鍾左右讓記錄生效,然后按回車鍵,記錄無誤的話證書就生成了。
感謝偉大的防火牆和備案機制,又讓我長見識了!