ALB に期限切れの証明書と期限の新しい証明書を紐づけていますが、期限切れの証明書が参照され続けているのはなぜでしょうか?

SNI 対応のクライアントから接続リクエストがあった場合、ドメインがマッチする証明書がデフォルト証明書と証明書リストの双方にあると、証明書リストから証明書が選択されます。その証明書が有効期限切れであるかを問いません。
2021.11.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

現在、ALB に期限切れの証明書と期限の新しい証明書の2つを紐付いている状態です。ドメイン名は両方の証明書で同じです。

(例)
デフォルト証明書:
 証明書 A: ACM でパブリック証明書をリクエストして取得したもの(※有効期限内)

証明書リスト:
 証明書 B: ACM に証明書をインポートしたもの(※期限切れ)

有効期限の新しい証明書が関連づけられているにも関わらず、トラフィックは期限切れの証明書を参照し続けています。 有効期限の新しい証明書が参照されるようにするにはどうすればいいでしょうか?

どう対応すればいいの?

対応方法といたしましては、以下のいずれかをご選択ください。

  • デフォルト証明書に有効期限内の証明書を設定し、証明書リストには証明書を登録しない
  • デフォルト証明書と証明書リストにそれぞれ有効期限内の証明書を設定する

これは SNI 対応のクライアント から接続リクエストがあった場合、ドメインがマッチする証明書がデフォルト証明書と証明書リストの双方にあると、証明書リストから証明書が選択される仕様があるためです。また、その証明書が有効期限切れであるかを問いません

デフォルト証明書と証明書リスト

なお、デフォルト証明書が使用されるのは以下の場合となります。

  • 証明書リストに証明書が一切登録されていない
  • 証明書リストにリクエストのドメイン名にマッチしない証明書のみが登録されている
  • SNI 非対応クライアントからの接続リクエストである

そのため、デフォルト証明書の扱いについてご注意ください。

参照