コメントありがとうございます。 残念ながら、もうSlingboxを使っていないた…
DNS SAKURA Cloud利用時にLet’s Encrypt更新で失敗した原因と対処法
Let’s Encryptの自動更新が突然失敗した
今まで正常に更新できていたのに、ある日突然、
「Let’s Encryptの更新に失敗した」
「証明書期限切れ警告が出た」
「certbot renew がエラーになる」
というケースがあります。
特にDNS認証を利用している環境では、DNS側設定変更が原因になっていることもあります。
DNS認証は便利だが依存関係も多い
Let’s Encryptには複数の認証方法があります。
その中でもDNS認証は、
・ワイルドカード証明書対応
・外部公開不要
・内部サーバーでも取得可能
というメリットがあります。
ですがその反面、
DNS API
認証情報
DNS伝播
などに依存するため、少しの変更で更新失敗することがあります。
SAKURA Cloud DNS利用時の注意点
さくらのクラウドDNSを利用している場合、
・APIキー変更
・アクセストークン期限
・ゾーン設定変更
・権限不足
などで更新失敗する場合があります。
特にAPI認証情報を再発行した後、古い情報のまま運用しているケースは意外と多いです。
よくあるエラー
例えば、
Failed authorization procedure
や、
DNS problem: NXDOMAIN
など。
これは、
・TXTレコードが作成できていない
・DNS反映が間に合っていない
・APIで更新失敗している
時によく発生します。
まず確認するべきポイント
更新失敗時は、以下を確認します。
・APIキーが有効か
・対象ゾーンが正しいか
・TXTレコードが生成されているか
・DNS伝播時間が足りているか
特にTXTレコード確認は重要です。
digコマンドで確認する
例えば、
dig TXT _acme-challenge.example.com
で、Let’s Encrypt用TXTレコードが見えるか確認できます。
表示されない場合は、DNS登録自体に失敗しています。
DNS反映待ち時間不足もある
自動更新スクリプトによっては、
TXT登録
↓
即認証
になっていることがあります。
ですが、DNSは即反映されるとは限りません。
そのため、
--dns-sakuracloud-propagation-seconds
のような待機時間設定を増やすと改善する場合があります。
cron正常でも更新失敗は起こる
cron自体は正常実行でも、
・API失敗
・DNS遅延
・レート制限
で証明書更新だけ失敗することがあります。
そのため、
certbot renew --dry-run
で定期確認しておくと安心です。
まとめ
DNS SAKURA Cloudを使ったLet’s Encrypt更新失敗は、
・API認証情報
・TXTレコード生成
・DNS伝播遅延
が原因になることが多いです。
特にDNS認証は「見えない内部処理」が多いため、
・dig確認
・dry-run確認
・待機時間調整
を行うと、原因切り分けしやすくなります。
検索

コメントを残す