Let’s EncryptがWildcardに対応

2018年5月27日

3/13よりLet’s EncryptWildcardに対応しました。

Let’s Encryptについては、以下のサイトを確認してください。

Let’s Encrypt – Wikipedia

ここでは、Wildcardの取得方法を記載したいと思います。
※ 本取得方法は、Centos7での方法となっていますので、他のOSについては、公式サイト等をご覧ください。

Let’s Encryptを使用している人の大半は、「Certbot」を利用しているかと思いますので、こちらを利用したいと思います。

ワイルドカード証明書を取得するには、AMCE v2というプロトコルに対応したクライアント(ここでは、Certbot)とDNS認証が必要になります。

1. Certbot 0.22.0以上のインストール

以下のコマンドにて、最新(0.22.0以上)のCertbotをインストール or アップデートします。

yum -y install certbot

エラーが表示される場合は、以下のコマンドを実行し再度上記のコマンドにてインストールを行います。

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

2. 証明書の取得1

Certbotのインストールが完了すると、次に証明書の取得を行います。
今回は、「next.mefws.com」をトップドメイン(ベースドメイン)、
「*.next.mefws.com」をサブドメインとして取得してみます。

certbot certonly --manual -d next.mefws.com -d *.next.mefws.com -m [email protected] --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

上記証明書の取得コマンドを実行すると、以下のようなメッセージが表示されます。
メッセージ中にある「acme challenge」の値をTXTレコードに登録する必要があります。
なお、複数のドメインを指定している場合は、「Enterキー」で他ドメインの「acme challenge」を確認することができます。

今回の場合は、2ドメイン(next.mefws.com、*.next.mefws.com)ですので、1度「Enterキー」を押すと
登録に必要なTXTレコードを取得できます。
※ 最後のドメインで「Enterキー」は押さないでください。
(Enterキーを押すと、TXTレコードの認証が始まります。)

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for next.mefws.com
dns-01 challenge for next.mefws.com

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.next.mefws.com with the following value:

[ACME CHALLENGE 1]

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.next.mefws.com with the following value:

[ACME CHALLENGE 2]

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

3. DNS TXTレコードの登録

お使いのDNSによって設定方法が異なる為詳細は省略しますが、
ACM CHALLENGEに表示されたTXTレコードをドメインに登録します。
必ず2つのACME CHALLENGEを登録してください。

レコードドメイン
TXT_acm-challenge.next.mefws.com[ACME CHALLENGE 1]
TXT_acm-challenge.next.mefws.com[ACME CHALLENGE 2]

4. 証明書の取得2

DNSの情報が反映されたら(nslookup等で確認)、「証明書の取得1」のウィンドウに戻り、「Enterキー」を押します。

正常に認証されると、「/etc/letsencrypt/live/」の配下にドメイン名のフォルダ「next.mefws.com」が作成され、
証明書が格納されています。

参考サイト

ブログLet's Encrypt

Posted by hiro