サーバー環境

無料SSL証明書 Let’s Encrypt でワイルドカードな証明書を発行してみる。

SSLのワイルドカードについて

Let’s Encrypt でも、ワイルドカードなSSL証明書が取得可能です。 会員用とかのマイページ等々で沢山のサブページを管理している場合には便利ですね。 注意点: Let’s Encrypt のワイルドカードの証明書の発行時には DNSのTXTレコードを利用しています。 certbot で証明書を取得する場合の手順です。

  1. certbot で証明書申請処理をする。
  2. 処理中に DNSのTXTレコードの登録を促す サーバー名とそのテキスト内容の文字列が発行されディスプレイに表示されます。
  3. この申請処理を終了する前に、該当するドメインのDNSのtxtレコードを登録する。
    注)DNSの反映は設定にもよりますが即時に反映するものではありません。別のターミナルや確認サイトで反映されたのを確認して次のステップに行くほうが無難と思われます。
  4. 何らかの方法で無事反映されたのを確認後エンターキーをおすと証明書が発行されます。
  5. 発行された証明書を利用してSSLの登録をしてWebサーバーを再起動等々でSSLのサイトを反映させます
    1. 今回の実行環境

      certbot の実行

      certonly
      SSL/TLS サーバ証明書の取得のみを行います。
      –manual
      ドメイン名の認証を手動で行い、SSL/TLS サーバ証明書を取得します。
      –server SERVER
      ACME ディレクトリリソースの URI を指定します。 (デフォルト: https://acme-v01.api.letsencrypt.org/directory)
      –preferred-challenges dns
      DNS-01チャレンジタイプで検証するように指定します。
      -d DOMAIN もしくは –domains DOMAIN もしくは –domain DOMAIN
      SSL/TLS サーバ証明書の取得を申請するドメイン名を指定します。
      -m EMAIL もしくは –email EMAIL
      アカウントの登録や回復などに使用する電子メールアドレスを -m webmaster@example.jp もしくは
      –email webmaster@example.jp のように指定します(一般公開はされません)。
      –agree-tos
      ACME 利用規約に同意します。 このオプションを有効にした場合、過去に利用規約の同意を行ったことがない場合であっても、利用規約の同意を求める画面が表示されません。
      –manual-public-ip-logging-ok
      グローバルIPアドレスを認証局でロギングすることに対する確認を表示しません。 このオプションを指定した場合、グローバルIPアドレスのロギングが自動的に許可されます。
      コマンドを実行すると DNSのTXTレコードに登録するようにメッセージが表示される

      ここで表示されたテキスト ドメインのDNS txtレコードに登録します。

      _acme-challenge.<ドメイン> IN TXT
      “CTbYKkeeyjOv_zPHZtyYoYc5hZm7xG0suz9Llfw2Kdc”

      登録が終了後別のターミナルで DNSに反映されていることを確認する ここで表示されたテキストタイミング早かったりしてエラーとなるともう一度別な TXT レコードの内容で TXTレコードの再登録のメッセージがでます。
      続けて、TXTレコード認証が失敗すると以下のメッセージが表示されます。
      再度 「certbot」からやり直します。
      認証に成功すると発行内容のインフォメーションが表示される

      この内容で SSLのコンフィグファイルを編集し、Webサーバーを再起動する。

      証明書のキャプチャー画像

      この作業で分かるように DNSのTXTレコードによるドメイン認証のため更新の自動化はマニュアル操作が入るため自動化は難しいと思われまがDNSの更新方法を工夫すれば可能と思います。
      今度自動更新についてレポートしたいと思います。

      参考サイト:
      https://blog.apar.jp/web/9619/
      https://letsencrypt.jp/

最近の記事

  1. wordpres5をubuntu nginxにインストール
  2. ubuntu 20.04 nginx php mysql Webサーバー環境整備
  3. Ubuntu nginx SSL
  4. EC-CUBE 4.0 インストール
  1. Raspberry PI

    Raspberry Pi で DAC Volumioで高音質な音楽を再生する
  2. プログラミング

    Webページを本のようにめくる jQueryプラグイン 「Turn.js」
  3. プログラミング

    Wordressの投稿を「FullCalendar」でカレンダー表示してみる
  4. プログラミング

    WordPress jQuery + CSS + ショートコードで モーダル…
  5. サーバー環境

    Let’s Encrypt dns-01 自動認証で ワイルドカード…
PAGE TOP