2

我在使用 Nginx 1.4.1 的 Mac OSX Lion 上。我将 nginx 与 Tornado 结合使用。

在安装 Nginx 上传模块 (v. 2.2.0) 的过程中,我遇到了一些兼容性问题。有关更多信息,请参阅此参考。显然,目前还没有很好的解决方法。我的具体错误源于:error: no member named 'to_write' in 'ngx_http_request_body_t'

  1. 有没有办法让这两者可靠地兼容而无需跳过箍?

  2. 或者,有没有合适的替代方法来使用这个适用于 Nginx 1.4.1 的上传模块?

  3. 如果没有,我应该考虑使用 Nginx 1.3.8 吗?如果是这样,我在哪里可以下载这个版本?我没有看到它可以在他们的网站上下载

感谢您的帮助。问候。

4

2 回答 2

1

1) 不,似乎没有,因为 nginx-file-upload 的维护者暗示他不想再维护它了

2)我发现这篇文章列出了一些替代方案。其中之一是nginx-big-upload我还没有尝试过。

3)好吧,您可以考虑它,但是您会被绑定到一个未维护的包中。如果 1.3.8 存在安全漏洞会怎样?如果不修补或更改文件上传策略,您将无法升级。如果你愿意,你可以在这里找到所有旧的 Nginx 版本

目前的情况非常令人沮丧,但有一些选择,只是没有一个是经过验证的。在处理生产系统时,稳定性和安全性是关键。

于 2013-10-08T00:22:55.043 回答
0

1) 是的,这个模块不支持 nginx 1.4+。

2)原因是nginx支持了thansfer-encode的chunked,并改进了它的代码设计。它删除了 ngx_http_request_body_t 结构的 to_write 字段。

3) https://github.com/hongzhidao/nginx-upload-module。这是一个变更模块。它支持最新的nginx,功能相同。

于 2014-09-05T09:02:55.140 回答