为什么 IIS return 一些 Blazor WebAssembly dll 但 return 403 Forbidden for others?

Why would IIS return some Blazor WebAssembly dlls but return 403 Forbidden for others?

我有一个以 .net6 为目标的 Blazor WebAssembly 项目并发布到服务器 运行 IIS 7.5 on Windows Server 2008。当我使用开发工具访问站点 url 时打开我可以看到一些 dll 文件已成功加载,但其他文件返回 403 Forbidden。一件奇怪的事情是每次得到 403 的 dll 都不一样。我可以刷新浏览器,一些第一次获得 403 的将加载,而其他第一次加载的获得 403。我尝试将所有 dll 文件更改为 .bin 文件,如此处建议的那样 (https://github.com/dotnet/aspnetcore/issues/5477#issuecomment-599148931) 但我得到了相同的结果。

这是第一个页面加载:

这是在浏览器中刷新页面后的样子:

我的问题是由 IIS 中的动态 IP 限制设置引起的。它设置为 5。我增加了限制并加载了所有 dll 文件。

由于这个问题,我找到了这个:https://social.msdn.microsoft.com/Forums/en-US/4977d000-baac-42b9-80c7-20f06cc0e5d3/iis-random-forbidden-403-static-files-on-browser-refresh