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 函数还可以向外部资源发出网络调用,以确认用户凭证,或获取更多内容来自定义响应。

  • 相关阅读:
    微信开放平台:OpenAPI、云开发与基础管理能力升级
    腾讯刘颖:从容器到低代码,腾讯云原生技术演进历程
    十年老站长心声:我为什么选择把 Hexo 网站迁移到 Webify
    腾讯云发布微搭生态开放计划,与合作伙伴携手共创产业未来
    SQL Server附加数据库出现错误5123的正确解决方法
    数据分页获取(二)
    Select语句
    数据分页获取(一)
    SQL Server中行转列原理
    QT实现Linux下系统监控小工具之二
  • 原文地址:https://www.cnblogs.com/cloudrivers/p/11617905.html
Copyright © 2011-2022 走看看