LoginSignup
3
1

More than 3 years have passed since last update.

Let's EncryptでCloudflare APIを用いたワイルドカード証明書の発行

Posted at

Cloudflareにドメインが移管されていることを前提に進めます。

プラグインをインストールする前に、cryptographyが最新版でなければ実行時にエラーが出るので、確認してアップグレードしてください。

# sudo pip list --outdated | grep 'cryptography'
# sudo pip install cryptography --upgrade #最新版でなければアップグレード

certbotをインストールします。

# cd /usr/local #インストール先のディレクトリを作成
# sudo git clone https://github.com/certbot/certbot.git

必要なプラグインをインストールした後、設定ファイルを作成していきます。

/nginxの場合(絶対に必要なわけではない)/
# cd /usr/local/certbot/certbot-nginx
# sudo python setup.py install

/apacheの場合(絶対に必要なわけではない)/
# cd /usr/local/certbot/certbot-apache
# sudo python setup.py install

/以下共通/
# cd /usr/local/certbot/certbot-dns-cloudflare
# sudo python setup.py install

# certbot plugins #確認

# sudo apt list "python3-pip*" --installed
# sudo apt install python3-pip #なければインストール

# sudo pip3 install certbot-dns-cloudflare #TXTレコードの自動作成&削除プラグイン

# sudo vim /etc/letsencrypt/cloudflare.ini #設定ファイルを作成

dns_cloudflare_email = <Cloudflareに登録しているメールアドレス>
dns_cloudflare_api_key = <Global API Key>

# sudo chmod 600 /etc/letsencrypt/cloudflare.ini #パーミッションを変更

証明書を発行します。
Congratulations!の表示が出れば成功です。

# vim /etc/letsencrypt/cli.ini #コマンドを短くするための設定ファイル

dns-cloudflare-credentials = /etc/letsencrypt/cloudflare.ini
server = https://acme-v02.api.letsencrypt.org/directory

# sudo certbot certonly -d *.<ドメイン名> -m <メールアドレス> --dns-cloudflare --dns-cloudflare-propagation-seconds 30 --agree-tos

# certbot renew --agree-tos #更新

こちらからCloudflareのログを見ると、TXTレコードが自動作成された後、削除されているのがわかります。

とても簡単にワイルドカード証明書が発行できました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1