我有以下问题。
我在IIS 8上托管了一个WCF应用程序,该应用程序仅接受带有客户端证书的HTTPS请求。此服务接受POST消息,其大小可能会有所变化(从几个字节到1 GB),并且大多数情况下是并行接收的。
在以下情况下,客户端会收到413请求实体过大响应:
当使用相同客户端证书打开多个连接并上传许多小文件时。在这种情况下,一个请求成功,而所有其他请求都会失败,并显示413错误。
可以通过在配置的
如果使用不同的客户端证书进行调用或上传一个大文件,则我的配置有效。
我读到在IIS 6中有一个选项可以在配置中设置
什么可能导致413错误?有没有办法在不使用服务器的整个内存的情况下启用具有客户端证书的多个并行上传到同一服务器的功能。
我在IIS 8上托管了一个WCF应用程序,该应用程序仅接受带有客户端证书的HTTPS请求。此服务接受POST消息,其大小可能会有所变化(从几个字节到1 GB),并且大多数情况下是并行接收的。
在以下情况下,客户端会收到413请求实体过大响应:
当使用相同客户端证书打开多个连接并上传许多小文件时。在这种情况下,一个请求成功,而所有其他请求都会失败,并显示413错误。
可以通过在配置的
system.webServer/serverRuntime
部分中将uploadReadAheadSize
值设置为大于所有并行调用大小之和的较大值来解决问题,但这会导致服务器为每个调用分配整个读取前缓冲区的内存量,从而在许多并发调用的情况下导致服务器耗尽内存。如果使用不同的客户端证书进行调用或上传一个大文件,则我的配置有效。
我读到在IIS 6中有一个选项可以在配置中设置
SSLAlwaysNegoClientCert
来修复类似的错误。我尝试过workarounds设置此值,但在使用IIS 8.0时没有成功。我还尝试关闭SSL客户端缓存以禁用SSL会话恢复,但也没有解决我的问题。什么可能导致413错误?有没有办法在不使用服务器的整个内存的情况下启用具有客户端证书的多个并行上传到同一服务器的功能。