terraform - Terraform aws_lb_listener_rule 重定向规则:我可以重写 #{path} 变量吗?
问题描述
我有以下 Terraform 规则,它尝试将格式的 URL 重定向https://engineering.example.com/blog/<path>
到https://www.example.com/engineering/<path>
resource "aws_lb_listener_rule" "redirect_engineering_blog_urls_to_website" {
listener_arn = module.web.alb_listener_arn
action {
type = "redirect"
redirect {
host = "www.example.com"
path = "/engineering/#{path}"
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
condition {
host_header {
values = ["engineering.example.com"]
}
}
condition {
path_pattern {
values = ["/blog/*"]
}
}
}
但是,它不起作用。当我导航到https://engineering.example.com/blog/mypost
它时,它会重定向到https://www.example.com/engineering/blog/mypost
(注意/engineering/blog/
它应该是什么时候/engineering/
)。
有没有办法告诉 terraform${path}
只替换*
通配符捕获["/blog/*"]
?
解决方案
据我所知,要基于匹配进行全路径重写(如上面的示例),您需要为此使用适当的引擎或其他技术,例如 nginx、haproxy,或者,如果您在 AWS ,为此在 API 网关后面有一个小 lambda - 不幸的是,ALB 不支持基于模式的路径提取。
推荐阅读
- r - 如何用 dplyr 从所有给定的每日观察时间序列中总结年平均温度?
- eclipse-plugin - Treeviewer 刷新不起作用
- php - 全局变量不选择子函数值
- python - 为什么我的 python udf 在 redshift 中返回空输出?
- mysql - 获取同一表/列上不同购买类型的计数和总和
- twitter-bootstrap - 反应中的引导表单在提交之前显示验证消息
- python - 在 Python 中对 CSV 文件进行训练测试拆分
- php - 使用 GLOB 排除多个目录
- excel-formula - 如何回查反对者单元格和数据验证列表?
- python - Kivy 不显示图像