Prosody 从不调用 http_file_share

Prosody 从不调用 http_file_share

我尝试设置我的 prosody xmpp 服务器(更确切地说:我从一台不同的机器迁移到真的过时的版本)

大多数东西都很好用。除了mod_http_文件共享那是。

如果我在浏览器中打开它,一切看起来都还好

查看配置,我现在已删除了几乎所有可能引起问题的东西。

但它就是无法连接——大多数客户端甚至没有检测到超时或类似情况(它只是在“传输”中等待,直到服务器连接关闭)。

我尝试查看 gajim 中的 XML 控制台,以查找问题的根源,但我遇到的只是一些检索该上传的“槽”标识符的调用。这从未得到任何响应,因此实际的上传甚至没有开始。

除了该模块的韵律页面之外,找不到任何文档,所以我很确定除了

VirtualHost "g33ky.de"
disco_items = {
    { "chat.g33ky.de", "file sharing service" },
}
Component "chat.g33ky.de" "http_file_share"
http_file_share_size_limit = 31 * 24 * 60 * 60
http_file_share_daily_quota = 100*1024*1024

好吧,那就添加一些证书(我通过 NGinx 从 certbot/letsencrypt 获得了这些证书 - 但它只响应端口 80/443 并将 https 流量转发到 5281)

答案1

问题可能是您的客户端无法发现上传服务,因为它位于不同的域中。Prosody 会自动向客户端宣传直接子域上的服务(例如,upload.chat.g33ky.de会自动在 上宣传chat.g33ky.de),以便客户端可以发现可用的服务。

如果您在完全不同的域名上提供服务,您需要告诉 Prosody 您想从主域名链接到该服务。这可以通过使用disco_items选项。

看起来您的配置已经接近正确,只是您将其列为"chat.g33ky.de"本身的一个项目。只需将其更改为,"upload.example.org"即可告知客户您的上传服务的正确域。

更正示例:

VirtualHost "chat.g33ky.de"
  disco_items = {
    { "upload.example.org", "file sharing service" },
  }

Component "upload.example.org" "http_file_share"
  http_file_share_size_limit = 31 * 24 * 60 * 60
  http_file_share_daily_quota = 100*1024*1024

答案2

好吧,实际上一下子出现了六个问题

主要有:

  1. 我正在从一些非常旧的韵律版本迁移,其数据库布局略有不同
  2. db 是我从旧服务器复制的一些 sqlite 文件
  3. 韵律写不出来一些对该 sqlite 文件进行操作,因为虽然文件本身是可写的,但放置它的文件夹却不可写
  4. 其中一个确实会导致写入错误的东西是启动文件传输所需的东西

我应该更仔细地阅读日志 - 其中确实存在写入错误。

感谢 MattJ 和 Menel‎(来自 prosody muc)帮助我弄清楚了这一点

相关内容