我正在使用版本 0.36.0 的 aws-cdk 设置 AWS ELB,并且能够使用 L1 CfnListener 对象设置从端口 80 到 443 的转发。是否有一个 L2 对象可以完成这项工作?
我已经查看了 ApplicationListenerRules 和一般的 ApplicationLoadBalancer.addListener 但我无法找到将 redirectConfig 添加到这些对象的方法。
我可以用 CfnListener 做到这一点:
new elbv2.CfnListener(this, "ID", {
loadBalancerArn: lb.loadBalancerArn,
port: 80,
protocol: "HTTP",
defaultActions: [
{
type: "redirect",
redirectConfig: {
statusCode: "HTTP_301",
host: "#{host}",
path: "/#{path}",
port: "443",
protocol: "HTTPS"
}
}
]
});
我在 addListener 中找不到任何允许设置正确的 statusCode、主机、路径、端口等值的东西。
通过 CfnListener 添加侦听器的一个缺点是我需要手动创建一个安全组以允许从世界访问端口 80。如果我使用 addListener (不重定向)该规则会自动添加。