1

我认为,我的韵律配置有问题。当我使用 Converstions 2.* 版本(android IM 应用程序)发送更多约 2 或 3 兆字节的文件(例如照片)时,它使用对等连接传输这些文件,而不是将此文件上传到服务器并将链接发送给我的对话者。小文件使用 http 上传可以很好地传输。我找不到这种行为的原因。以下是我的配置中 http_upload 模块的一些行,我从官方文档中获取(我没有找到关闭对等文件传输的设置):

http_upload_file_size_limit = 536870912 -- 512 MB in bytes
http_upload_expire_after = 604800 -- 60 * 60 * 24 * 7
http_upload_quota = 10737418240 -- 10 GB
http_upload_path = "/var/lib/prosody"

这是我的完整配置:https ://pastebin.com/V6DNYrhe

4

1 回答 1

1

使用 http 上传可以很好地传输小文件。我找不到这种行为的原因。

TL;DR:你把选项放在了错误的地方。默认的 1MB 限制适用。这是向客户公布的,以便他们了解它并且可以对非常大的文件使用更有效的 p2p 传输方法。

http_upload_path = "/var/lib/prosody"

这一行公开了 Prosodys 数据目录,允许任何人轻松访问所有用户数据。你真的不想那样做。你很幸运你没有把它放在正确的部分。

这是我的完整配置:https ://pastebin.com/V6DNYrhe

“http_upload”在全局modules_enabled列表中,它将把它加载到所有虚拟主机上。

您已将选项添加到配置文件的末尾,将它们放在组件部分下。这使得这些选项仅适用于该组件。

因此,加载 mod_http_upload 的 VirtualHost 看不到任何选项集,并将使用默认值。

http_upload_file_size_limit = 536870912 -- 512 MB 字节

不要这样做。Prosodys 内置 HTTP 服务器未针对非常大的上传进行优化。HTTP 请求大小有一个安全限制,将 HTTP 上传大小限制限制为 10M,以防止 DoS 攻击。

虽然可以更改该限制,但我强烈建议您查看 https://modules.prosody.im/mod_http_upload_external.html

于 2018-09-24T18:02:00.037 回答