ejabberd 20.04 mod_http_upload无法正常工作

时间:2020-07-28 14:47:24

标签: ejabberd

我在rhel 7.5上安装了ejabberd 20.04。出于测试目的,防火墙已停止,禁用了selinux。我正在使用gajim 1.2.1作为客户端。在我的/opt/ejabberd/conf/ejabberd.yml中,仅添加了以下几行:

listen:
  request_handlers:
    "/upload": mod_http_upload

shaper_rules:
  soft_upload_quota:
    1000: all
  hard_upload_quota:
    1100: all

modules:
  mod_http_upload:
    put_url: "https://@HOST@:5443/upload"
    docroot: /ejabberd/upload/

其他所有内容均为默认设置。我还没有替换证书文件。当我尝试发送文件时,没有任何反应。在/opt/ejabberd/logs/ejabberd.log中只有:

[info] <0.468.0>@mod_http_upload:create_slot:832 
   Got HTTP upload slot for test@chat.im.test/chat.im.test
   (file: testfile.txt, size: 14242)
[info] <0.393.0>@ejabberd_listener:accept:256 
   (<0.551.0>) Accepted connection 
   [::ffff:192.168.10.10]:50749 -> [::ffff:192.168.20.10]:5443

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

请注意,如果您提供的HTTPS之类的网址

modules:
  mod_http_upload:
    put_url: https://@HOST@:5443/upload

然后您必须启用TLS,如

listen:
  -
    port: 5443
    ip: "::"
    module: ejabberd_http
    tls: true
    request_handlers:
      /upload: mod_http_upload

另一方面,如果您没有记录足够的信息,则可以尝试这样做,它可能会提供一些有意义的密钥:

loglevel: debug