PUT 请求时出现 501

501 on PUT request

我们有一个 UI 代码调用我们的后端使用 https 协议执行 GET 和 PUT。 (即 GET /api/data 和 PUT /api/data) 在后端,我们为此路径的 GET 和 PUT 定义了处理程序。 GET 以某种方式工作正常,但对于 PUT,我们得到了 501。

需要注意的一点是,我们确实为此应用设置了 Akamai。 以前,Akamai,我认为当 UI 直接使用主机通话时它工作正常。 但是现在使用这个来自 Akamai 的 public 主机,PUT 似乎不像以前那样工作了。

最初,我看到了这个:

并决定添加: res.setHeader('Referrer-Policy', 'same-origin');

现在我看到了这个:

知道可能发生了什么或者我可能需要设置什么才能让 GET 和 PUT 都能正常工作吗?

我之前遇到过类似的问题。很可能您有 Web.Config 或类似的东西正在阻止 PUT 请求。

例如,在 Azure 中某些基于 PHP 的后端中,我必须添加:(只有 GET,POST,因此其他请求被阻止)

<handlers>
  <add name="PHP73_via_FastCGI" path="*.php" verb="GET, PUT, POST, DELETE, HEAD" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v7.3\php-cgi.exe" resourceType="Either" requireAccess="Script" />
</handlers>