CertbotによるDNS-01 Challengeの結果をValue DomainのDNSレコードに登録するためのスクリプトです。
ワイルドカードドメインに対して使えるかどうかは確認してません。
以下は目安であり、動作の保証をするものではありません。
- 任意のLinux
- certbot
- Node.js 22+
npm i -g @lycolia/value-domain-dns-cert-register
certbot register
バリュードメインAPIより取得。
<hoge>
の様になってる箇所を適当に埋め、以下のコマンドを実行。
sudo certbot certonly --manual -n \
--preferred-challenges dns \
--agree-tos -m <your-email> \
--manual-auth-hook "vddcr <root-domain> <value-domain-api-key>" \
-d <target-domain>
上記コマンドの各項目の入力内容
項目名 | 入力内容 |
---|---|
your-email | ACMEアカウントのメールアドレス |
root-domain |
DNS設定の取得にある/domains/{domain}/dns の{domain} の部分 |
value-domain-api-key | Value DomainのAPI KEY |
target-domain | 証明書を発行したいドメイン |
コマンドの入力例
sudo certbot certonly --manual -n \
--preferred-challenges dns \
--agree-tos -m hoge@example.com \
--manual-auth-hook "vddcr example.com XXXXXXXXXXXXXXXXXXXXX" \
-d sub.example.com
必要に応じてCRONなどに登録することで継続的に実行できます。
単体で実行することはないと思いますが一応。
基本的にはvddcr <root-domain> <value-domain-api-key>
として実行できます。
また実行時にCERTBOT_DOMAIN
とCERTBOT_VALIDATION
の二つの環境変数が必要です。この環境変数の内容についてはcertbotのドキュメントを参照してください。
- Value Domainのコントロールパネルから設定した内容からコメントが消えたり、行の並びが変わったりする
- Value DomainのAPIの仕様なのでどうにもならない
- TTLが3600になる
- Value DomainのAPIが3600を返してくるためどうにもならない。コントロールパネルの設定値は無視されている
- ワイルドカードドメインを対象にしようとしても上手くいかない可能性がある
- 個人的に需要がないので動作確認してないです