我正在寻找一种允许我代理/修改AWS内部传入请求的服务。
目前我正在使用cloudfront,但功能有限。
我需要能够看到用户代理字符串并根据其做出代理决策 - 例如反向代理到另一个域,或将所有请求路由到/index.html
。
任何人都知道AWS内部或AWS之外的服务。
答案 0 :(得分:1)
这听起来像是在描述Lambda@Edge,这是一个CloudFront增强功能,允许您定义将在CloudFront信号流中的4个挂钩点中的任何一个点触发的Lambda函数,并修改请求或生成动态响应。
查看器请求触发器允许在缓存查找之前检查/修改请求和动态生成小响应。
Origin Request触发器类似,但在检查缓存后触发。它们允许您检查和修改请求,包括更改原始服务器,路径和/或查询字符串,或生成响应,而不是允许CloudFront继续连接到源。
如果请求转到原点,则一旦返回,可以触发Origin Response触发器来修改响应头或用您生成的其他主体替换响应主体。此触发器完成后的响应是存储在缓存中的,如果可缓存的话。
缓存reaponse后,对于可以从缓存提供的后续请求,不会再触发Origin Request和Origin Response触发器。
最后,当响应准备就绪时,无论是来自缓存还是原点,如果需要,Viewer Response触发器都可以进一步修改它。
响应触发器还可以检查原始请求中的许多标头。
Lambda @ Edge函数是用Node.js编写的,并作为您检查和/或修改的简单结构对象与请求一起呈现。