概要
Let’sEncrypt で dns challenge を使った場合 TXT レコードの登録が必要になります
DNS サービスに API などがある場合は prehook や posthook を使って自動化することができます
自分で作るのが面倒な場合は golang 製の lego というツールを使うと楽に dns challenge で証明書を取得できることがあります
環境
- docker 19.03.6
- lego 4.3.1
コマンド例
mkdir lego
docker run --rm \
-e NIFCLOUD_ACCESS_KEY_ID=xxxx \
-e NIFCLOUD_SECRET_ACCESS_KEY=xxxx \
-v $(pwd)/lego:/lego goacme/lego \
--path /lego \
--email your-name@mail.domain \
--dns nifcloud \
--domains *.my-domain.example.com \
--accept-tos \
run
--email
, --domains
は必須のオプションになります
--accept-tos
で確認の入力を省略することができます
path で証明書が保存されるパスを指定できるのでそのパスをホスト側のディレクトリでバインドしてあげましょう
あとはプロバイダに応じた設定を行います
提供されている Provider
かなりたくさんあります
https://github.com/go-acme/lego/tree/master/providers/dns
引数の --dns
にプロバイダを指定することができます
route53 や clouddns などのメジャーな DNS サービスがある他さまざまな DNS サービスが対応しているようです
プロバイダによって設定するべき環境変数がことなるので詳細は
docker run --rm goacme/lego dnshelp -c route53
などで確認することができます
0 件のコメント:
コメントを投稿