【やったこと】
kusanagi for awsでEc2を立ち上げ。
nginxにてWebサーバ構築。
EC2のセキュリティグループのインバウンドはHTTPとSSHとHTTPSを許可。
ALBを構築、リスナー80を追加し、ルールをEc2へのターゲットグループ(toEc2)を割り当て(プロトコル:HTTP、ポート:80、プロトコルバージョン:HTTP1)。
ドメイン管理は同アカウントのroute53ではなく外部NSのため、ALBのパブリックDNSを外部NSにCNAMEで適用し、ブラウザからアクセスを確認。
次にSSL化するため、ALBにACMを適用した。
ロードバランサのリスナー443を追加、どこかの記事でALBからEC2は80http送信とあったので、ターゲットグループはリスナー80と同じものを設定(toEc2)。
ブラウザでhttpsでアクセスしたもの、証明書エラーがでており、「証明書が無効です」と表記されている。
【不明点】
・ALBで証明書設定しているが、無効とでているのはkusanagi側でプロビジョニングで自動で設定されるssl設定(ローカル証明書適用の記載が自動でされる)を参照しているからではないのか。
・リスナー443の場合はターゲットグループで80ポート利用しているはずなので、Ec2側で443処理されるのはなぜか。
・Ec2には80送信しかしていないなら、Ec2に割り当てているセキュリティグループのインバウンドにHTTPSはいらないかと思い、削除してブラウザアクセスを試みたら応答なしになってしまった。
正式な対処方法が知りたいです。。
以前はEc2側でリダイレクトループ処理などでX-Forwarded-Protoに関しての記述をしなければならなかったと思いますが、
ALB側の80ルールにパスが*の場合リダイレクト先443、デフォルトホスト、パス、クエリを使用、301を設定すればEc2側で何も対処が必要ない旨ありましたが、
この辺も影響しているのでしょうか?
あなたの回答
tips
プレビュー