我正在使用Terrform创建弹性beantalk应用程序和环境,但是由弹性beantalk创建的ALB启用了SSL和非SSL路由。我想在我的应用上强制使用SSL。
我尝试过
从elasticbeanstalk资源中获取负载均衡器列表,然后为端口80创建规则以重定向到
data "aws_lb" "loadbalancer" {
arn = aws_elastic_beanstalk_environment.env.load_balancers[0]
}
resource "aws_lb_listener" "front_end" {
load_balancer_arn = data.aws_lb.loadbalancer.arn
port = "80"
protocol = "HTTP"
default_action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
}
这应该可以正常工作,但是如果没有规则,但是会失败,因为elasticbeanstalk默认使用
创建两个规则Error: Error creating LB Listener: DuplicateListener: A listener already exists on this port for this load balancer 'arn:aws:elasticloadbalancing:us-east-1:834165423586:loadbalancer/app/awseb-AWSEB-1DP9LOBL5ZLTQ/b17cc8dc2ba5f0a6'
status code: 400, request id: 9e97b410-b3a5-4e64-b451-d7d1c5e3191e
任何帮助将不胜感激