使用共享ALB与Elastic Beanstalk时Host Headers自定义配置不生效问题
问题原因
当前配置未将自定义的myrule监听器规则关联到443端口监听器,同时没有禁用Elastic Beanstalk默认自动生成的region.elasticbeanstalk.com Host Header规则,导致自定义配置不生效。
解决步骤
- 修改443监听器的规则列表配置,将自定义规则加入生效列表
- 为自定义规则设置优先级,保证其匹配优先级高于默认规则
- 添加配置禁用EB自动生成的默认Host Header规则
修改后完整配置参考
{ namespace = "aws:elasticbeanstalk:environment" name = "LoadBalancerIsShared" value = "true" }, { namespace = "aws:elasticbeanstalk:environment" name = "DisableSharedALBDefaultHostHeaderRule" value = "true" }, { namespace = "aws:elbv2:listener:443" name = "Rules" value = "default,myrule" }, { namespace = "aws:elbv2:loadbalancer" name = "SharedLoadBalancer" value = data.aws_lb.default.arn }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "DeregistrationDelay" value = "20" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "HealthCheckInterval" value = "15" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "HealthCheckTimeout" value = "5" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "HealthyThresholdCount" value = "3" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "Port" value = "80" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "Protocol" value = "HTTP" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "StickinessEnabled" value = "false" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "StickinessLBCookieDuration" value = "86400" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "StickinessType" value = "lb_cookie" }, { namespace = "aws:elasticbeanstalk:environment:process:default" name = "UnhealthyThresholdCount" value = "5" }, { namespace = "aws:elbv2:listenerrule:myrule" name = "HostHeaders" value = "my.example.com" }, { namespace = "aws:elbv2:listenerrule:myrule" name = "Process" value = "default" }, { namespace = "aws:elbv2:listenerrule:myrule" name = "Priority" value = "100" }
修改配置后重新执行Terraform apply,再更新Elastic Beanstalk环境即可生效。
内容的提问来源于stack exchange,提问作者Oli at cdcloudlogix.com
相关产品推荐
相关产品推荐

