更新源响应触发器中的 HTTP 响应
当 CloudFront 从源服务器接收 HTTP 响应时,如果有源响应触发器与缓存行为关联,您可以修改 HTTP 响应以覆盖从源返回的内容。
更新 HTTP 响应的一些常见情况包括:
-
更改状态以设置 HTTP 200 状态代码并创建静态正文内容,这些内容在源服务器返回错误代码 (4xx 或 5xx) 时返回到查看器。有关示例代码,请参阅 示例:使用源响应触发器将错误状态代码更新为 200。
-
更改状态以设置 HTTP 301 或 HTTP 302 状态代码,用于在源返回错误状态代码 (4xx 或 5xx) 时将用户重定向到其他网站。有关示例代码,请参阅 示例:使用源响应触发器将错误状态代码更新为 302。
注意
函数必须返回值介于 200
到 599
之间(包括这两者)的状态,否则 CloudFront 向查看器返回错误。
您也可以替换查看器和源请求事件中的 HTTP 响应。有关更多信息,请参阅在请求触发器中生成 HTTP 响应。
当您在处理 HTTP 响应时,Lambda@Edge 不会将源服务器返回的正文公开到源响应触发器。您可以通过将其设置为所需值来生成静态内容正文,或者通过将值设置为空删除函数中的正文。如果您不更新函数中的正文字段,源服务器返回的源正文将返回到查看器。