NetScaler/IIS: 413 实体太大
NetScaler/IIS: 413 Entity Too Large
我遇到一个问题,每当我通过 Citrix NetScaler post/put JSON 我们的服务器 运行 IIS 7.5 时,我都会收到一个 413 请求实体太大的问题。
我们尝试将 aspnet:MaxJsonDeserializerMembers 设置为 30000、40000 和 512000,如下所示:
<appSettings>
<add key="aspnet:MaxJsonDeserializerMembers" value="xxx" />
</appSettings>
以及设置 <jsonSerialization maxJsonLength="xxx"/>
但没有任何解决方案。
在我们没有 Citrix NetScaler 的本地测试环境中设置 aspnet:MaxJsonDeserializerMembers 工作正常。
NetScaler 中是否有任何我应该知道的设置?或者是否有一些 IIS 设置我也必须注意,考虑到这在我们的本地测试环境中有效,我倾向于后者,但我不想所有基础隐蔽。
编辑:经过进一步调查,似乎 NetScaler 确实是来源,因为我们可以从 NetScaler 后面 post 到 API。
事实证明,它实际上是两种产品的结合。
我们在内部使用 SSL 和客户端证书,这意味着我们需要配置一个名为 "uploadReadAheadSize"
的 IIS 属性
这是在主机配置中或通过 IIS 管理器完成的。
...
<system.webServer>
<serverRuntime uploadReadAheadSize="{BYTES}" />
</system.webServer>
...
我们现在使用了 10 MB = 10485760 字节,这表明足够了。由于默认为 48KB,您可能会很快达到这个值。
我遇到一个问题,每当我通过 Citrix NetScaler post/put JSON 我们的服务器 运行 IIS 7.5 时,我都会收到一个 413 请求实体太大的问题。
我们尝试将 aspnet:MaxJsonDeserializerMembers 设置为 30000、40000 和 512000,如下所示:
<appSettings>
<add key="aspnet:MaxJsonDeserializerMembers" value="xxx" />
</appSettings>
以及设置 <jsonSerialization maxJsonLength="xxx"/>
但没有任何解决方案。
在我们没有 Citrix NetScaler 的本地测试环境中设置 aspnet:MaxJsonDeserializerMembers 工作正常。
NetScaler 中是否有任何我应该知道的设置?或者是否有一些 IIS 设置我也必须注意,考虑到这在我们的本地测试环境中有效,我倾向于后者,但我不想所有基础隐蔽。
编辑:经过进一步调查,似乎 NetScaler 确实是来源,因为我们可以从 NetScaler 后面 post 到 API。
事实证明,它实际上是两种产品的结合。
我们在内部使用 SSL 和客户端证书,这意味着我们需要配置一个名为 "uploadReadAheadSize"
的 IIS 属性这是在主机配置中或通过 IIS 管理器完成的。
...
<system.webServer>
<serverRuntime uploadReadAheadSize="{BYTES}" />
</system.webServer>
...
我们现在使用了 10 MB = 10485760 字节,这表明足够了。由于默认为 48KB,您可能会很快达到这个值。