【问题标题】:ejabberd 20.04 mod_http_upload not workingejabberd 20.04 mod_http_upload 不工作
【发布时间】:2022-01-19 13:46:39
【问题描述】:

我已经在 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

我做错了什么?

【问题讨论】:

    标签: ejabberd


    【解决方案1】:

    请注意,如果您提供的 URL 带有 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
    

    【讨论】:

      【解决方案2】:

      这意味着它工作完美,没有错,检查您的 /ejabberd/upload/ 目录,您会在 ejabberd 默认创建的子文件夹中找到您上传的文件

      例如。 /ejabberd/upload/--子文件夹--/-子文件夹/你的文件

      【讨论】:

        猜你喜欢
        • 2020-03-07
        • 2016-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-21
        • 2020-08-22
        • 2020-11-11
        • 1970-01-01
        相关资源
        最近更新 更多