Closed6
ALBへのhttp通信をhttpsへリダイレクトする
なぜリダイレクトするの?
古いURLにアクセスすることを防ぎ、新しいURLにストレスなく誘導するため
というのがしっくりきました。80番閉まってたらアクセスできないかもしれないしね
ざっくり概念図
流れ
- HTTPリスナー作成
- HTTPSリスナー作成時に削除していたら再作成
- HTTPSへリダイレクト
- 301番でリダイレクトさせる
- HTTPSリスナー作成時に削除していたら再作成
- セキュリティグループ開放
- 80番を閉めていたら開放します
確認
curlで確認します。
httpsでは普通にアクセス出来て
$ curl -I https://example.com
HTTP/2 200
// 略
httpではリダイレクト込でアクセス出来ることを確認します
$ curl -I -L http://example.com
HTTP/1.1 301 Moved Permanently
// 略
Location: https://example.com:443/
HTTP/2 200
//略
Location
でリダイレクト先が表示されることで、問題なくリダイレクトしていることがわかります
Terraform化
terraformでテンプレート化します。
resource "aws_lb_listener" "test_listener" {
load_balancer_arn = aws_lb.test_lb.arn
port = 80
protocol = "HTTP"
default_action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
}
このようにリスナーを追加すればOKです
リダイレクトルールの作り方はこちらを参照
このスクラップは2023/06/10にクローズされました