You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生成PDF时出现400-Bad Request请求头过长问题求解决方案

解决PDF生成时出现HTTP 400请求头过长的办法

问题说明

生成PDF文件至第5页左右时,页眉和页脚处显示HTTP错误400-Bad Request-Request Header Too Long,响应头示例如下:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: // 已隐藏地址
Cache-Control: no-store, no-cache
Content-Disposition: attachment; filename=Utskrift.pdf
Content-Length: 162568
Content-Type: application/pdf
Date: Tue, 25 Oct 2022 08:57:16 GMT
Expires: -1
Pragma: no-cache
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET

可行解决方法

  • 精简请求头内容:排查请求里的Cookie、自定义Header等数据,尤其是累积的会话信息或重复添加的字段,删掉不必要的内容。如果是浏览器端生成PDF,可尝试清除当前站点Cookie后重试。
  • 调整ASP.NET服务器请求头限制:从响应头能看出后端是ASP.NET,可修改Web.config配置增大请求头允许长度:
    <system.web>
      <httpRuntime maxRequestLength="1048576" requestValidationMode="2.0" maxQueryStringLength="2097151" maxUrlLength="2097151" />
    </system.web>
    <system.webServer>
      <security>
        <requestFiltering>
          <requestLimits maxQueryString="2097151" maxUrl="2097151" />
        </requestFiltering>
      </security>
    </system.webServer>
    
    注意按需调整数值,避免过度放宽带来安全风险。
  • 优化PDF生成逻辑:如果每页生成时都重复发送请求并携带相同头部数据,改成一次性传递必要信息,或把状态存在会话里而非每次都附加到头部。比如别在页眉页脚的请求里重复携带大量认证、上下文数据。
  • 检查代理/中间件设置:如果部署环境有反向代理(如IIS、Nginx),要确认代理服务器的请求头长度限制,确保代理层的限制值不低于后端服务器配置。

内容的提问来源于stack exchange,提问作者Stefan Fernström

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:40:31