我的应用程序网关 waf v2 遇到超时问题。 我将超时设置为220秒,如下图所示
但我在 100 秒时收到特定请求的 504 网关超时。
我是否需要考虑其他因素才能实现此超时?
[更新] 该错误是 504.0 网关超时。 如果我强制出现此错误,在 SP 上放置等待语句,则错误只是 504 Azure 网关超时
提前致谢
最佳答案
这很可能是从您的应用服务而不是网关发生的。 由于您的超时时间为 100 秒,这可能来自默认的 http 超时。您可以通过以下方式检查应用程序网关请求超时设置是否正确。
az network application-gateway show --resource-group <replace with your resource group> --name <replace with your application gateway name> --query 'backendHttpSettingsCollection[].{name: name, reque stTimeout: requestTimeout}'
如果结果符合预期(230 秒),那么您需要查看您的应用服务。
例如,如果您的后端是在 Azure 应用服务中配置的,则典型部署将基于 IIS,默认连接超时为 2 分钟。
您可以覆盖应用服务的行为。如果是在azure应用服务中,您可以使用XDT更改 weblimit 的连接超时属性。
如果它是一个 .NET 应用程序,用于处理您提到的请求并使用 HTTP 客户端,则默认超时为 100 秒。您应该设置一个大于应用程序网关的请求超时值
HttpClient httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromMinutes(10);
https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=net-6.0
关于Azure 应用程序网关未采用超时设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72452637/