增加 Azure 网站中的最大 url 长度?

问题描述 投票:0回答:4

我有一个包含以下几行的 web.config:

 <requestFiltering>
     <requestLimits maxUrl="25000" maxQueryString="25000"></requestLimits>
 </requestFiltering>

这让我可以访问最多 25k 个字符的 URL,包括查询字符串。 但是,当我发布到 Azure 网站时,它完全忽略了我的 web.config 的这个特定部分,但我找不到 Microsoft 发布的任何类型的限制。

有人知道怎么回事吗?

asp.net azure azure-web-app-service
4个回答
1
投票

您可以在此 Azure 文档

中找到请求限制的详细概述

发生这种情况的原因可能是 ASP.NET 运行时或 IIS 请求过滤模块。默认情况下,查询字符串允许的最大长度为 2048 ref:linkInternet Explorer 您应该在 Web.config 的 requestLimits 子节点下设置适当的值。

即使您为最大查询字符串设置了一个很大的值,每个处理 url 和查询字符串的浏览器也存在限制。这在 IIS 6 或以经典模式运行的 IIS 7 应用程序池中不可用。


0
投票

找不到任何文档,但 Azure 应用服务似乎将查询字符串限制设置为 2048,这是建议的默认值。

您的 web.config 配置不起作用的原因是它是在工作线程级别应用的,并且此限制可能也在前端级别强制执行,前端级别是接收请求并将其分发到的反向代理组件合适的后端工人。

据我所知,无法在前端级别配置此设置。如果您希望向应用程序发送更多数据,请考虑使用 POST 请求。


0
投票

对于较旧的服务器,您必须在配置中将值设置得更高,可能值得尝试也设置此值。

<configuration>
  <system.web>
    <httpRuntime maxQueryStringLength="25000" />
  </system.web>
</configuration>

0
投票

这今天在天蓝色中对我有用 enter image description here 在尝试让 azure 工作之前,是什么让 IIS 工作: enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.