回发时“找不到指定的 URL”-asp.net windows 身份验证

Posted

技术标签:

【中文标题】回发时“找不到指定的 URL”-asp.net windows 身份验证【英文标题】:"The specified URL cannot be found" on postback - asp.net windows authentication 【发布时间】:2021-11-23 09:37:48 【问题描述】:

我有一个使用 Windows 身份验证的 .net Web 应用程序。它是一个 Intranet,托管在 AWS 上,并具有 WAF。

有一半的时间,当有回发操作时,浏览器会立即在控制台中返回 404 错误,并显示“找不到指定的 URL”消息。在页面上。这似乎只发生在 Chrome 和 Edge 中,而不是 IE。

服务器设置和 web.config 都启用了 Windows 身份验证。

服务器日志显示一些 401.2 错误,但从我的阅读来看,这似乎是 Windows 身份验证的正常过程,某种身份验证挑战。这些 401.2 错误行也注册了 IE 浏览器,这再次证实了这一理论。

错误发生在 Web 应用程序能够捕获任何错误之前。即使将errorMode设置为Detailed,浏览器也只会显示“找不到指定的URL”消息。

如果有任何帮助,我将不胜感激。谢谢。

我的 web.config 的子集:

<system.web>
    ...
    <authentication mode="Windows"/>
    <identity impersonate="true"/>
    <customErrors mode="Off"/>
</system.web>
<system.webServer>
    ...
    <httpErrors errorMode="Detailed" />
</system.webServer>

【问题讨论】:

我发现this thread 有类似的问题。主要问题是参数数量超过40,导致WAF阻塞请求。根据标头信息,我的请求只发送了 10 个参数。 【参考方案1】:

事实证明,WAF 由于标头数量过多而阻塞了请求。该问题已通过增加标头计数得到解决。

【讨论】:

如何增加标题计数?将该说明编辑为您的答案将使其对未来的读者更有用。

以上是关于回发时“找不到指定的 URL”-asp.net windows 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

asp .net背景图像在回发时闪烁

回发时的 ASP.Net 复选框值错误?

如何避免在回发时从 asp.net 重复输入?

ASP.NET,使用 .Controls.Add() 添加的控件在页面回发时丢失,如果我使用 .InnerHtml 添加它们,我无法引用它们

回发后asp.net jquery脚本未运行

ASP.NET 部分回发上的 Chrome 自动填充(更新面板)