小编Flo*_*ter的帖子

上传大文件并使用 TLS 时,IIS 随机返回 413 Request Entity Too Large

我有一个在 IIS 上运行的 ISAPI 应用程序,该应用程序旨在支持上传任何大小的文件。在一台服务器上,使用 HTTPS 时,上传似乎随机失败413 Request Entity Too Large或超时,唯一的补救措施似乎是设置uploadReadAheadSize为大于上传文件的值。然而,这会将上传文件的大小限制为 2GB( 的最大值uploadReadAheadSize),这是不可接受的。

  • Windows Server 2012(以及相应的 IIS 版本)
  • 服务器不需要客户端证书(但客户端可能并且意外地发送了它们?!)
  • uploadReadAheadSize在安装了相同应用程序并且设置为默认值(49152 字节)的任何其他服务器(并且有很多服务器)上都不会出现此问题。
  • 该错误由 IIS 返回,并且不涉及 WAF 或类似的中间组件。
  • 从任何主机(包括服务器主机本身)发送时都会发生该错误。
  • 使用浏览器客户端以及胖客户端(本机 Windows 应用程序)上传时会出现此错误。
  • 缩短请求正文实际上确实可以防止错误发生。
  • 相同的请求可能会失败或成功(例如,当使用 Fiddler 重放时)

可能是什么原因导致这个问题,我应该如何调试这个问题?

(注意:我在 StackOverflow 和此处看到了几个类似的问题,但在这些情况下,要么要使用客户端证书,要么应用程序基于 WCF(我们的不是),或者问题不独立于uploadReadAheadSize或传输层安全)

uploadReadAheadSize另外,什么是了解实际情况以及“幕后”发生的事情的良好来源?微软的官方文档相当稀疏。

iis ssl https upload

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

https ×1

iis ×1

ssl ×1

upload ×1