在使用aws cloudfront时发现cloudfront默认不允许自定义回源请求头的Host字段,对于一些情况我们需要使用这个host+ip来回源的时候就有点坑了,这个时候我们可以通过使用aws的lambda@edge,去修改request的header来实现自定义host来回源。
aws lambda@edge文档:https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/lambda-edge.html
- 在创建lambda函数,并发布一个版本注意只能在us-east-1这个区创建,否则在附加到cloudfront的时候会报错不支持的区域,代码如下
1 | ; |
- 在cloudfront的Behavior菜单中
- 重新deploy cdn和刷新一次cdn缓存