ฉันสร้างเส้นทางการรับส่งข้อมูลนี้ใน VPC
Route53->ACM(SSL)->Public ALB->EC2(Nginx proxy)->Private ALB->ECS(Internal App)
กลุ่มความปลอดภัยของ EC2 อนุญาต tcp 80 และ 443 กลุ่มความปลอดภัยของ ECS อนุญาต 80 จากกลุ่มความปลอดภัยของ EC2
เมื่อฉันเข้าถึงโดเมนที่ลงทะเบียนใน Route53 จะได้รับ การค้นหา DNS 504 ล้มเหลว
ข้อผิดพลาด.
เมื่อเข้าถึงชื่อ DNS ของ ALB สาธารณะแล้ว บริการ 503 ไม่สามารถใช้งานได้ชั่วคราว
ข้อผิดพลาด.
ฉันแน่ใจว่ามีการตั้งค่า ACM และชื่อ DNS สาธารณะของ LB กำลังลงทะเบียนกับ Route53 ด้วยโดเมน
การตั้งค่า ALB บนซับเน็ตสาธารณะดำเนินการโดย Terraform
ทรัพยากร "aws_lb_listener" "http" {
load_balancer_arn = aws_lb.this.arn
พอร์ต = "80"
โปรโตคอล = "HTTP"
default_action {
พิมพ์ = "เปลี่ยนเส้นทาง"
เปลี่ยนเส้นทาง {
พอร์ต = "443"
โปรโตคอล = "HTTPS"
status_code = "HTTP_301"
}
}
}
ทรัพยากร "aws_lb_listener_rule" "http_redirect" {
Listener_arn = aws_lb_listener.proxy.arn
ลำดับความสำคัญ = 1
หนังบู๊ {
พิมพ์ = "เปลี่ยนเส้นทาง"
เปลี่ยนเส้นทาง {
พอร์ต = "443"
โปรโตคอล = "HTTPS"
status_code = "HTTP_301"
}
}
เงื่อนไข {
เส้นทาง_รูปแบบ {
ค่า = ["/*"]
}
}
}
ทรัพยากร "aws_lb_listener_rule" "http_forward" {
Listener_arn = aws_lb_listener.http.arn
ลำดับความสำคัญ = 2
หนังบู๊ {
พิมพ์ = "ไปข้างหน้า"
target_group_arn = aws_lb_target_group.proxy.arn
}
เงื่อนไข {
host_header {
ค่า = ["proxy.portsite.com"]
}
}
}
ทรัพยากร "aws_lb_listener_rule" "https_forward" {
Listener_arn = aws_lb_listener.https.arn
หนังบู๊ {
พิมพ์ = "ไปข้างหน้า"
target_group_arn = aws_lb_target_group.proxy.arn
}
เงื่อนไข {
host_header {
ค่า = ["proxy.portsite.com"]
}
}
}
เป็นทั้งสองอย่าง http_redirect
และ http_forward
จำเป็นต่อการกำหนดเส้นทางหรือไม่ หรือเท่านั้น http_redirect
ดี?
และปัญหาเกิดจากมันหรือไม่?