[英]How to specify multiple path patterns for a CloudFront Behavior?
我有一个带有 s3 源和自定义源的 CloudFront 分配。 我希望/api/*
和/admin/*
上的所有流量到 go 到自定义源,以及到 go 的所有其他流量到 s3 源。 目前我只使用/api/*
:
cloudfront.SourceConfiguration(
custom_origin_source=cloudfront.CustomOriginConfig(
domain_name=alb,
origin_protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER,
),
behaviors=[
cloudfront.Behavior(
allowed_methods=cloudfront.CloudFrontAllowedMethods.ALL,
path_pattern="/api/*",
forwarded_values={
"headers": ["*"],
"cookies": {"forward": "all"},
"query_string": True,
},
)
],
),
我可能会重复使用/api/*
的行为,但我最终会添加一些额外的路径,这些路径需要路由到自定义源 (ALB),所以我想知道是否有办法做到这一点更干燥。
path_pattern
是否接受/{api,admin,other}/*
样式模式? 或者我应该重构 Behaviors 部分以重用allowed_methods
和forwarded_values
,然后使用不同的path_pattern
重复多个行为?
path_pattern 是否接受
/{api,admin,other}/*
样式模式?
不,根据文档不支持这种模式样式。
我应该重构吗?
是的,您可以简单地将与此自定义原点对应的所有path_pattern
保存到一个列表中,例如path_patterns
。 然后使用一个简单好用的 Python 列表推导,
behaviors=[
cloudfront.Behavior(
allowed_methods=cloudfront.CloudFrontAllowedMethods.ALL,
path_pattern=pp,
forwarded_values={
"headers": ["*"],
"cookies": {"forward": "all"},
"query_string": True,
},
) for pp in path_patterns
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.