【问题标题】:Azure functions proxies Invalid URI: noSlashAzure 函数代理 URI 无效:noSlash
【发布时间】:2020-02-27 04:57:36
【问题描述】:

我正在尝试使用 Azure 函数代理在我无权访问服务器的 API 上允许 CORS。

我已按照this article中的步骤进行操作

我的路由模板为 /qless/{*rest},后端 URL 为 https://merchant.us1.qless.com/qless/api/v1/{rest},但我收到的响应是: 400 (Invalid URI: noSlash).

如果我改用 Github API(正如他们在文章中所做的那样),它可以正常工作。

我已确保 localhost(我从中发送请求)列在函数的 CORS 设置中。

我发送的完整请求是:https://XXXXXXXXX.azurewebsites.net/qless/kiosk/location/XXXXXXXX/queues/,所以我看不到额外的斜线来自哪里(如响应所示)。我试过删除尾随和中间斜杠。感谢您的帮助。

编辑

通过发送Proxy-Trace-Enabled 标头,我意识到该函数正在将/ 重写为%2F - 我该如何防止这种情况发生?

      {
        "source": "rewrite-uri",
        "timestamp": "2020-02-27T05:04:28.8777839Z",
        "elapsed": "00:00:00.2596935",
        "data": {
          "message": "Updated request URL per specified rewrite template.",
          "request": {
            "url": "https://merchant.us1.qless.com/qless/api/v1/kiosk%2Flocations%2FXXXXXXXXXX/"
          }
        }
      }

【问题讨论】:

    标签: azure azure-functions azure-function-app-proxy


    【解决方案1】:

    找到解决方案in this issue

    AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES 作为应用程序设置设置为true(默认为false),记录在here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多