IIS 连接是否为大于 1MB 的所有文件重置?

问题描述

我的本​​地 IIS 开发服务器(如果相关,则运行 Episerver)有一个奇怪的问题,该问题在几周前我拉入最新的主分支时出现。出于某种原因,每个大于 ca 的静​​态文件。 1MB 只能在重新启动后从本地服务器下载一次或两次,然后对同一文件的任何请求都会立即失败并显示 PR_CONNECT_RESET_ERROR(以及类似的连接重置错误)。不知道为什么。服务器日志中没有任何内容,Windows 事件日志中没有任何内容,浏览器中没有任何可调试的内容,因为浏览器只是说没有响应。

我发现的唯一有形的事情是任何小于 1 MB 的文件每次都可以工作;并且任何大于 2 MB 的文件总是会出现连接重置错误。我试图弄清楚到底是什么限制是向 1MB 文件添加行以增加大小并从 2MB 文件删除行以减少它;希望缩小它的确切限制;不幸的是,一旦较大的文件大约为 1.2 MB,它仍然失败,即使较小的文件仍然可以在 1.3 MB 左右工作;所以它甚至不是确定性的。 (这不仅仅是文件名,因为我尝试了几个文件,但它们确实可以在较小的尺寸下工作)

我见过其他几个人有类似的问题: Download large files not working,Connection Reset due to large file upload but configs should permit upload 等,但没有任何效果(除了更改 webpack 构建以将所有 js 文件文件大小减少到 1 MB 以下;这对于调试我不希望它缩小的地方不太实用)。除了所有文档都表明 IIS 应该发送 4xx http 错误;不只是在没有响应的情况下断开连接...

如果我知道什么设置会导致我的服务器在没有任何日志记录的情况下重置连接(但由于某种原因,在同一个 repo 上的其他人的计算机上工作正常);我至少可以 grep 或搜索 git log 以获取配置。 (而且它必须在 repo 的某个地方,因为当问题出现时它只在一个分支中,但现在它显然已合并到所有活动分支中。)

解决方法

通过更改“最大允许内容长度(字节)”使其再次工作 从 10000000(即 10 MB)到 4294967295(即 4 GB)。

这很奇怪,因为略低于 1MB 远低于 10 MB;它仍然没有解释为什么它只工作一次但不超过一次。

也许将其设置为 4GiB,这显然是最大值,用作禁用错误大小检查或其他东西的魔法值?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...