如果标头 +,则通过 Azure 应用程序网关的请求会失败并显示 HTTP 504有效负载大于约 1590 字节

发布于 2025-01-11 08:40:37 字数 361 浏览 1 评论 0原文

我们在 Azure 应用程序网关后面的 Azure 托管 VM 上有一个 Web 应用程序。 Azure 应用程序网关使用主机的公共证书终止 SSL,然后使用内部证书将流量发送到后端服务器。

大多数 GET 请求都会正确转发到后端,但大多数 POST 请求会因 HTTP 504(网关超时)而失败。使用 PowerShell Invoke-WebRequest 和 Fiddler 重放进行实验后,我们发现请求的总大小(标头 + 有效负载) 导致了此错误:如果标头 + 有效负载大于约 1590 字节那么请求永远不会到达后端服务器(IIS 日志文件中没有条目),并且应用程序网关向调用者返回 HTTP 504。

我们需要对应用程序网关进行哪些更改才能解决此问题?

We have a web application on an Azure hosted VM sitting behind an Azure Application Gateway. The Azure Application Gateway terminates SSL using the public certificate for the host, then uses an internal certificate to send the traffic to the backend server.

Most GET requests are forwarded correctly to the backend but most POST requests fail with HTTP 504 (gateway timeout). Experimenting using PowerShell Invoke-WebRequest and Fiddler replay has led us to discover that it is the total size of the request (headers + payload) that causes this error: if headers + payload is greater than about 1590 bytes then the request never reaches the backend server (no entry in IIS log file) and the Application Gateway returns a HTTP 504 to the caller.

What do we need to change on Application Gateway to fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌上芳菲 2025-01-18 08:40:37

Microsoft 支持人员发现 Windows Server 2022 的一个错误导致了该问题,因此我们在 Windows Server 2019 VM 上重新安装,问题就消失了。

有关症状的更多信息:我们发现 HTTP.sys 日志中出现错误(位于 C:\Windows\System32\LogFiles\HTTPERR)。

Microsoft support identified a bug with Windows Server 2022 that was causing the problem, so we re-installed on a Windows Server 2019 VM and the issue went away.

A little more info on the symptomns: we discovered that an error was appearing in the HTTP.sys log (at C:\Windows\System32\LogFiles\HTTPERR).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文