为什么 nginx 无法正确处理来自我后端的分块编码响应?
问:我的后端服务器似乎使用分块编码发送 HTTP/1.0 响应,但 nginx 无法正确处理它。例如,我使用 nginx 作为我的 node.js 应用程序的前端,nginx 返回的内容不是纯 JSON 格式,而是类似十进制数字的框架,例如
47 {"error":"query error","message":"Parameter(s) missing: user,password"} 0
答:您的后端违反了 HTTP 规范(请参阅 RFC 2616,“3.6 传输编码”)。“分块”传输编码不得与 HTTP/1.0 一起使用。您需要修复您的后端应用程序或升级到 nginx 1.1.4 及更高版本,其中引入了额外的代码来处理这种不稳定的后端行为。