2

我正在尝试设置 Azure 函数,以便将所有请求发送到同一个函数。该proxies.json文件非常简单:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "Root URI to Redirector Trigger Function": {
      "matchCondition": {
        "route": "/{*path}",
        "methods": [
          "GET",
          "POST"
        ]
      },
      "backendUri": "http://%WEBSITE_HOSTNAME%/myfunc"
    }
  }
}

到目前为止一切都很好,但是当发送请求时,代理请求最终会再次被代理处理 - 以无限循环结束。

如何在我的代理中指定代理所有请求接受这些/myfunc资源?

4

2 回答 2

1

您的配置强制重定向应用于域上的所有内容。当发生重定向时,/myfunc也会被重定向。

您可以: 1. 将您的代理的路由更改为不同的东西,fe `/api/{*path}'。2. 将您的功能移动到不同的域。

于 2018-12-05T15:35:18.910 回答
1

我终于解决了这个问题,虽然它不是很优雅。我proxies.json现在看起来像这样:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "Root URI to Redirector Trigger Function": {
      "matchCondition": {
        "route": "/{path}",
        "methods": [
          "GET",
          "POST"
        ]
      },
      "backendUri": "http://%WEBSITE_HOSTNAME%/"
    }
  }
}

我还编辑了我function.json的“路线”:“/”。现在所有对 root 以外的任何调用都代理到我的函数。对路由的调用最终会直接转到函数(并且需要单独处理)。

于 2018-12-06T11:56:05.303 回答