はじめに
ALB のリスナーの設定として、証明書をインポートしようとしたら以下のエラーが発生しました。
ただの凡ミスだったのですが、その症状と原因と対処です。
同じエラーメッセージでも複数の原因があるかと思います。
症状
表示されたのは以下の証明書の互換性エラーです。
新しいリスナーの追加。 各 リスナー には 転送, リダイレクト, 固定レスポンス タイプのアクションの 1 つが含まれている必要があります。 リスナーの作成中にエラーが発生しました インポートされた証明書の設定に互換性がないため、リスナーの使用可能な証明書のリストには表示されません。別の証明書を選択またはアップロードして、やり直してください。
先に同じのもを ACM に登録してもリスナー設定画面ではその証明書は一覧に表示されませでした。
原因
最初は鍵長などを疑ったのですが、結局 CSR 生成時に Common Name
を空してしまったためという凡ミスです。
対処
Common Name
を指定して CSR の再生成と、証明書の再生成してインポートし直したところ無事にインポートされました。
Common Name
には ALBのDNS名(例: hogehoge-elb-xxxxxxxxxx.us-east-2.elb.amazonaws.com
)を指定しました。
# CSR の生成 $ openssl req -new -key ./server.key -out ./server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:JP State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []: ★ここに ALB の DNS 名を指定 Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # 証明書の生成 $ openssl x509 -in server.csr -days 365 -req -signkey server.key -out server.crt Signature ok subject=/C=JP/CN=hogehoge-elb-xxxxxxxxxx.us-east-2.elb.amazonaws.com Getting Private key