Am construit această rută de trafic într-un VPC.
Route53->ACM(SSL)->ALB public->EC2 (proxy Nginx)->ALB privat->ECS (aplicație internă)
Grupul de securitate al EC2 permite tcp 80 și 443. Grupul de securitate al ECS permite 80 din grupul de securitate al EC2.
Când accesez domeniul înregistrat în Route53, a primit 504 Căutarea DNS a eșuat
eroare.
Când accesați numele DNS al ALB public primit 503 Serviciu Temporar Indisponibil
eroare.
Sunt sigur că ACM se setează și numele DNS al LB-ului public se înregistrează pe Route53 cu domeniul.
Setările ALB de pe subrețeaua publică sunt realizate de Terraform
resursă „aws_lb_listener” „http” {
load_balancer_arn = aws_lb.this.arn
port = "80"
protocol = "HTTP"
acțiune_default {
tip = "redirecționare"
redirecționare {
port = "443"
protocol = "HTTPS"
status_code = „HTTP_301”
}
}
}
resursă „aws_lb_listener_rule” „http_redirect” {
listener_arn = aws_lb_listener.proxy.arn
prioritate = 1
acțiune {
tip = „redirecționare”
redirecționare {
port = "443"
protocol = "HTTPS"
status_code = „HTTP_301”
}
}
condiție {
path_pattern {
valori = ["/*"]
}
}
}
resursă „aws_lb_listener_rule” „http_forward” {
listener_arn = aws_lb_listener.http.arn
prioritate = 2
acțiune {
tip = "înainte"
target_group_arn = aws_lb_target_group.proxy.arn
}
condiție {
host_header {
valori = ["proxy.portsite.com"]
}
}
}
resursă „aws_lb_listener_rule” „https_forward” {
listener_arn = aws_lb_listener.https.arn
acțiune {
tip = "înainte"
target_group_arn = aws_lb_target_group.proxy.arn
}
condiție {
host_header {
valori = ["proxy.portsite.com"]
}
}
}
Sunt ambele http_redirect
și http_forward
necesar pentru rutare? Sau numai http_redirect
este bun?
Și, problema cauzată de aceasta?