【问题标题】:AWS API Gateway: Pass Referrer URLAWS API Gateway:传递引荐来源网址
【发布时间】:2016-10-19 21:46:48
【问题描述】:

对 API-Gateway 的请求是否可以将引荐来源网址传递给 Lambda?例如,我想让我的 lambda 函数知道请求是来自域“good.com”还是来自“bad.com”。

我熟悉supported $context Variables 的列表,并且我知道其中没有引荐来源网址。我想知道是否还有其他方法。如果可能,我需要采取哪些步骤?

【问题讨论】:

    标签: aws-api-gateway


    【解决方案1】:

    这里是怎么做的。

    1. 事实证明,映射模板允许您映射HTTP headers,而不仅仅是list of supported variables in the documentation

    2. 包含引用域的 HTTP 标头称为“Origin”。包含引用页面 URL 的标头称为“Referer”。

    3. 因此,例如,您可以将其放入映射模板中,它会获取相关的标头信息:

      {
      "origin" : "$input.params('origin')",
      "referer" : "$input.params('referer')"
      }
      

    Origin 抢占 example.com。 Referer 抓取 example.com/pagename

    【讨论】:

    • 它返回原点和引用标头的空值。尽管 "$input.params('something')" 适用于任何其他 HTTP 自定义标头。有什么建议吗?
    • @FedericoklezCulloca 你有没有碰巧看到没有来源和引用者的情况,即使请求很可能是从网站调用的?
    • @Jun 我只修复了答案中缺少的引号。您应该询问撰写答案的用户。
    • @user3303554 你有没有碰巧看到没有来源和引用者的情况,即使请求很可能是从网站调用的?谢谢
    【解决方案2】:

    这是一个 HTTP 标头,因此如果您在模板中映射 HTTP 标头,它将被传递给 Lambda 函数。查看this answer 的示例,了解如何在请求模板中映射 HTTP 标头。

    【讨论】:

    • 感谢您的提示。它帮助我回答了问题,我在下面分享了一个具体的答案。
    猜你喜欢
    • 2015-05-16
    • 2014-10-17
    • 1970-01-01
    • 2020-10-16
    • 2018-05-19
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多