>>> 2018/10/18 追記
ようやくさくらのクラウド対応が含まれる lego v1.1.0がリリースされました。
https://github.com/xenolf/lego/releases/tag/v1.1.0
この記事の以降の部分は不要となっています。
sacloud/legoを使わなくてもxenolf/legoを直接利用すればOKです。
<<< 2018/10/18 追記
>>> 2018/6/22 追記
本日legoのさくらのクラウド対応がマージされました。
この記事の内容はそのまま利用可能となっています。
また、マージされるまでの間にワイルドカード対応(ACME v2対応)なども行われています。
便利になりましたのでぜひお試しください。
<<< 2018/6/22 追記
「さくらのクラウド ウェブアクセラレータでLet's Encryptを使う」という記事を読んで、
「そういえばさくらのクラウドでlego+DNS-01出来ないかな?」と思って調べたら、出来そうだったので対応してみました。
というわけでlegoにPR送った
lego#456: Add DNS Provider for SAKURA Cloud
これがマージされれば以下のような感じでさくらのクラウドDNSを利用してDNS-01で証明書発行が可能です。
# さくらのクラウドAPIキーを環境変数に指定
export SAKURACLOUD_ACCESS_TOKEN=<APIアクセストークン>
export SAKURACLOUD_ACCESS_TOKEN_SECRET=<APIアクセスシークレット>
# --dns=sakuracloudと指定してlego runを実行
lego --email="example@example.com" --domains="example.com" --dns="sakuracloud" run
なお、あらかじめさくらのクラウドDNSにゾーンを登録しておく必要があります。
参考:【さくらのクラウド】DNSアプライアンス導入ガイド
>>> 2018/6/22 追記
本日PRがマージされました。
今後は以下の暫定対応は不要となりました。
<<< 2018/6/22 追記
マージされるまでの暫定対応
legoは最近あまり開発に動きがないようですので、PRがマージされるまでの暫定版として以下2通りで配布しています。
- forkしたリポジトリでバイナリを配布(https://github.com/sacloud/lego/releases/latest)
- Dockerイメージで配布
GitHubからダウンロードする場合、各プラットフォームごとにバイナリを置いていますので自身のプラットフォームにあったものをダウンロードしてください。
Dockerの場合は以下のように利用します。
# さくらのクラウドAPIキーを環境変数に指定
export SAKURACLOUD_ACCESS_TOKEN=<APIアクセストークン>
export SAKURACLOUD_ACCESS_TOKEN_SECRET=<APIアクセスシークレット>
docker run -it --rm \
-e SAKURACLOUD_ACCESS_TOKEN \
-e SAKURACLOUD_ACCESS_TOKEN_SECRET \
-v $PWD:/lego \
sacloud/lego \
--path=/lego \
--email="example@example.com" \
--domains="example.com" \
--dns="sakuracloud" \
run
上記のように実行すると、カレントディレクトリにaccounts
とcertificates
というディレクトリが作成されます。
証明書/秘密鍵はcertificates
に配置されています。
ということで
はやくlego本体にマージされるといいなー。
以上です。