代码之家  ›  专栏  ›  技术社区  ›  sharjeel

j2me->nginx+apache+django的HTTP 411错误

  •  2
  • sharjeel  · 技术社区  · 15 年前

    我们有一个在生产中使用django构建的基于Web的应用程序。它部署在由Apache代理的nginx上,Apache通过wsgi处理django应用程序。操作系统是Ubuntu。

    除了基于Web的前端之外,我们最近还开发了一个J2ME客户端,用于通过移动电话上载文件。J2ME传输文件时,传输编码设置为“chunked”,内容长度设置为零;这是J2ME框架的标准方式,显然不能更改。

    问题是nginx和apache都不允许零内容长度的分块数据并返回 HTTP 411 error response .Django似乎也有问题,但很容易修补。

    网络上很少有解决方案建议重新编译nginx和apache,但我不想这样做。有更简单的解决方案吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   rryan    14 年前

    根据我的经验,如果使用outputstream.flush(),J2ME将切换到分块编码。避免刷新,只需写入输出流,然后立即关闭它。我可以用J2ME向Apache/Django安装程序提交一篇文章,这很好。因为使用flush(),我收到了411个错误。一旦我把它取下来,它就工作得很好。我没有手动设置内容长度,而是自动设置的。