【问题标题】:Azure Function running in AKS throws 500 on query string parameter for http trigger function在 AKS 中运行的 Azure 函数在 http 触发函数的查询字符串参数上引发 500
【发布时间】:2021-07-14 20:00:33
【问题描述】:

我有一个 azure 函数应用,我已将其容器化并在 AKS 中运行。我的一个 http 端点有一个查询字符串参数code=。当我调用该端点时,我立即收到 500 响应。为了排除代码中的任何内容,我只返回 400 以验证我正在执行代码。奇怪的是,如果我将查询字符串参数更改为 code 以外的任何参数,例如 codeg,我会得到正确的 400 响应。

我已启用调试日志记录并获得路由匹配,因此我知道调用正在到达函数应用程序。但是,我没有收到其他日志来表明可能出现的问题。

【问题讨论】:

    标签: azure-functions azure-aks azure-functions-runtime azure-functions-docker


    【解决方案1】:

    它可能会抛出错误,因为它期望功能键位于 code 查询参数中。

    我假设您有一个保护端点的功能键?

    尝试在标题x-functions-key 中发送功能键,这应该可以释放code 查询参数供您使用。

    https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp#api-key-authorization

    【讨论】:

    • 很棒的发现谢谢。即使这是一个匿名函数,我也没有考虑过。让我感到震惊的是,它在运行与我们部署到集群的相同映像的容器中使用 localhost 在本地工作 鉴于它是匿名的,我们如何解决这个问题?此端点用于身份验证回调,我不知道我们对这些参数有多少控制权。
    • 仍然不知道匿名函数应该关心这些参数的最终原因,但我发现它与 Secrets 目录上的权限问题有关。可以在这里找到详细信息和解决方法stackoverflow.com/questions/68411649/…
    猜你喜欢
    • 2018-01-28
    • 2019-07-17
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多