首页 > 解决方案 > 在 ejabberd 中,mod_http_upload 返回“忽略具有无效值的侦听选项‘request_handlers’:[{upload,mod_http_upload}]”

问题描述

在 ejabberd 18.01-2 中,使用 安装在 lxc 容器 Ubuntu 18.04 Bionic LTS 中apt,我正在尝试设置mod_http_upload.

按照文档,在该部分listen中,我有

listen:
  ...
  -
    port: 5443
    module: ejabberd_http
    tls: true
    request_handlers:
      upload: mod_http_upload

但是,当我重新启动服务时,我可以在日志中看到/var/log/ejabberd/error.log

2019-11-11 13:47:06.923 [error] <0.379.0>@ejabberd_listener:validate_module_option:604 ignoring listen option 'request_handlers' with invalid value: [{upload,mod_http_upload}]

标签: ejabberdejabberd-module

解决方案


您正在阅读在线文档中的配置示例,该文档记录了最新发布的 ejabberd 版本 19.09。

您正在将这些示例与旧的 ejabberd 18.01 一起使用。如果出现问题,这并不奇怪。

在这种情况下,问题出在语法上,它很容易修复,如果您查看 ejabberd 18.01 安装中的示例 ejabberd.yml 就会注意到它:

该示例配置中的最后一行可以是:

  • upload: mod_http_upload如果您使用新的 ejabberd 19.09,则使用新语法

  • "/upload": mod_http_upload如果您使用新的 ejabberd 19.09,则使用旧语法

  • "/upload": mod_http_upload但是如果你使用旧的 ejabberd 18.01,你只能使用旧的语法


推荐阅读