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>
我们有一个 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>