zoukankan      html  css  js  c++  java
  • 使用 Lambda@Edge 在边缘站点自定义内容

    Lambda@Edge 是一个 AWS Lambda 扩展,后者是一个计算服务,可用于执行函数以自定义 CloudFront 提供的内容。您可以在一个区域(US-East-1(弗吉尼亚北部))中编写 Node.js 或 Python 函数,然后在与查看器较为接近的全球 AWS 位置执行它们,而无需预置或管理服务器。Lambda@Edge 会自动扩展,从每天几个请求到每秒数千个请求。在与查看器较为接近 AWS 位置 (而不是源服务器) 上处理请求,可显著减少延迟并改善用户体验。

    在将 CloudFront 分配与 Lambda@Edge 函数相关联时,CloudFront 在 CloudFront 边缘站点中截获请求和响应。您可以在发生以下 CloudFront 事件时执行 Lambda 函数:

    • 当 CloudFront 收到查看器的请求时 (查看器请求)

    • 在 CloudFront 将请求转发到源之前 (源请求)

    • 当 CloudFront 收到来自源的响应之后 (源响应)

    • 在 CloudFront 将响应返回到查看器之前 (查看器响应)

    Lambda@Edge 处理有很多用途。例如:

    • Lambda 函数可检查 Cookie 并重写 URL,以便用户可看到不同版本的站点以进行 A/B 测试。

    • CloudFront 可以检查 User-Agent 标头以根据查看器使用的设备将不同的对象返回到查看器,该标头包含有关这些设备的信息。例如,CloudFront 可基于不同图像所在的设备的屏幕尺寸返回这些图像。同样,该函数可能会考虑 Referer 标头的值,并导致 CloudFront 将图像返回到具有最低分辨率的自动程序。

    • 或者,您也可以检查 Cookie 中是否有其他条件。例如,在出售服装的零售网站上,如果您使用 Cookie 指示用户选择了哪种颜色的夹克,Lambda 函数可能会更改请求,以便 CloudFront 返回选定颜色的夹克的图像。

    • 在发生 CloudFront 查看器请求或源请求事件时,Lambda 函数可能会生成 HTTP 响应。

    • 函数可检查标头或授权令牌,并在 CloudFront 将请求转发到源之前插入一个标头以控制对您的内容的访问。

    • Lambda 函数还可以向外部资源发出网络调用,以确认用户凭证,或获取更多内容来自定义响应。

  • 相关阅读:
    洛谷 P1410 子序列(DP)
    LibreOJ #539. 「LibreOJ NOIP Round #1」旅游路线(倍增+二分)
    LibreOJ #541. 「LibreOJ NOIP Round #1」七曜圣贤(单调队列)
    浴谷八连测R6题解(收获颇丰.jpg)
    数论的一些小结论
    Fence9
    二模 (2) day1
    二模 (1) day2
    二模 (1) day1
    一些编码时的老错误
  • 原文地址:https://www.cnblogs.com/cloudrivers/p/11617905.html
Copyright © 2011-2022 走看看