Tôi đã xây dựng tuyến đường giao thông này trong VPC.
Route53->ACM(SSL)-> ALB công khai->EC2(proxy Nginx)->ALB riêng tư->ECS(Ứng dụng nội bộ)
Nhóm bảo mật của EC2 đang cho phép tcp 80 và 443. Nhóm bảo mật của ECS đang cho phép 80 từ nhóm bảo mật của EC2.
Khi tôi truy cập tên miền đã đăng ký ở Route53, nó đã nhận Tra cứu DNS 504 không thành công
lỗi.
Khi truy cập công khai tên DNS của ALB đã nhận 503 Dịch vụ tạm thời không có
lỗi.
Tôi chắc chắn rằng ACM đang được cài đặt và tên DNS công khai của LB đang đăng ký với Route53 cùng với tên miền.
Cài đặt ALB trên mạng con công cộng đang được thực hiện bởi Terraform
tài nguyên "aws_lb_listener" "http" {
load_balancer_arn = aws_lb.this.arn
cổng = "80"
giao thức = "HTTP"
Hành động mặc định {
gõ = "chuyển hướng"
chuyển hướng {
cổng = "443"
giao thức = "HTTPS"
status_code = "HTTP_301"
}
}
}
tài nguyên "aws_lb_listener_rule" "http_redirect" {
người nghe_arn = aws_lb_listener.proxy.arn
ưu tiên = 1
hoạt động {
gõ = "chuyển hướng"
chuyển hướng {
cổng = "443"
giao thức = "HTTPS"
status_code = "HTTP_301"
}
}
điều kiện, tình trạng, trạng thái {
đường_mẫu {
giá trị = ["/*"]
}
}
}
tài nguyên "aws_lb_listener_rule" "http_forward" {
người nghe_arn = aws_lb_listener.http.arn
ưu tiên = 2
hoạt động {
gõ = "chuyển tiếp"
target_group_arn = aws_lb_target_group.proxy.arn
}
điều kiện, tình trạng, trạng thái {
host_header {
giá trị = ["proxy.portsite.com"]
}
}
}
tài nguyên "aws_lb_listener_rule" "https_forward" {
người nghe_arn = aws_lb_listener.https.arn
hoạt động {
gõ = "chuyển tiếp"
target_group_arn = aws_lb_target_group.proxy.arn
}
điều kiện, tình trạng, trạng thái {
host_header {
giá trị = ["proxy.portsite.com"]
}
}
}
Có phải cả hai http_redirect
và http_forward
cần thiết cho việc định tuyến? Hoặc chỉ http_redirect
tốt?
Và, không vấn đề gây ra bởi nó?