当前位置: 首页 > 知识库问答 >
问题:

nginx-失败与自定义边界的多部分请求(CRLF)

商夜洛
2023-03-14

nginx-在具有自定义边界(CRLF)的多部分请求中失败,而在RFC中,它是一个完全有效的有效负载。
示例有效负载。MIME-Version: 1.0 Content-Type: Multipart/form-data;边界=------%^TestBoundary^%------ 多个文件。

起初,标题上的特殊字符导致边界从传递到后端被跳过,添加ignore_invalid_headers关闭。现在我看到传递到后端的内容类型标头,但添加了一个臭名昭著的“:”。

多部分/表格数据;边界=----%^TestBoundary^%----:

你知道是什么原因吗?在传递到后端之前,如何在nginx上修复它?

共有1个答案

关正雅
2023-03-14

这是一个已知的错误,很可能是您的问题,其中“边界”部分使用CRLF加TAB附加到Content-Type字符串:https://forum.nginx.org/read.php?29,192093,192102#msg-192102

如果无法在代码中修复此问题,则需要使用HAProxy或类似的工具,通过将CRLF选项卡替换为LWS来修复此问题(请参阅本手册第1.2.2节底部的“重要注意事项”)https://www.haproxy.org/download/1.7/doc/configuration.txt)

 类似资料:
  • 我很难使用Axios表单数据进行反应式本地文件上传。我将内容类型设置为多部分/表单数据。下面是我的请求部分。 表单数据体内容 {"_parts":[["profileImage ",{ " name ":" rn _ image _ picker _ lib _ temp _ 51ee 6068-2b4b-4baf-a6 C3-44 b 14 b 0 b5 b9b . jpg "," type":

  • 我正在用Spring rest上传文件 我正在尝试发送内容类型为multipart/form data或multipart/form data的请求 然而,我一直得到一个错误:请求被拒绝,因为没有找到多部分边界 我不确定这是rest中的问题还是我的请求被打乱了。我正在使用restclient,将内容类型设置为多部分/表单数据,并从restclient发送文件 错误: 这是我的代码 网状物xml d

  • 我正在尝试将最近使用Angular2下载的一个文件上传到Spring API Rest。 问题是(在spring应用程序上显示)。。。 请求被拒绝,因为找不到多部分边界 在org。阿帕奇。公猫util。http。文件上传。FileUploadBase$FileItemIteratorImpl。(FileUploadBase.java:831)~[tomcat-embed-core-8.5.28.j

  • 问题内容: 我有一个表单数据以及要在同一POST中发送的文件。例如,{duration:2000,file:test.wav}。我在这里看到了许多关于使用python请求发布多部分/表单数据的线程。 我的样品要求如下: 但是,当我执行上面的代码时,出现此错误: 5:59:55.338 Dbg 09900 [DEBUG]解决处理程序[null]中的异常:org.springframework.web

  • 我有一个表单数据以及文件要在同一职位上发送。对于ex,{duration:2000,file:test.wav}。我在这里看到了使用python请求发布多部分/表单数据的许多线程。它们很有用,尤其是这个。 我的示例请求如下: 5:59:55.338 Dbg 09900[DEBUG]处理程序解析异常[null]:org.springframework.web.multipart.multipartE

  • 我们有一个使用Blaze Meter(HTTPS调用)录制的脚本并在JMeter中运行,一个POST请求失败并显示“500内部服务器错误”。在Post请求中,JSON以“form-Data”的形式作为参数传递。当endpoint执行时,我们在HTTP标头中观察到Webkitformbounday,请给出一些解决方案 < li>HTTPs请求 < li>HTTP标头管理器 < li >发布请求正文在