ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法

来源:互联网 发布:网络推广公司有哪些 编辑:程序博客网 时间:2024/06/01 09:16

当我们连接ejabberd(我使用的版本是16.09,Linux版,Mac版与此大同小异,文件目录位置和修改方法基本相同,Windows版下面也会有介绍)进行创建用户操作时,会出现"403 -auth"的错误,提示"Denied by ACL"。

具体的ejabberd服务器返回的错误如下:

<error xmlns="jabber:client" type="auth" code="403"><forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Denied by ACL</text></error>

出现这种错误通常都是因为ejabberd服务器的配置问题,我们需要对ejabberd安装路径下的conf文件夹下的ejabberd.yml文件进行修改(Linux和Mac版本在安装目录下的conf文件夹下)。



我使用的工具是Xshell连接Linux服务器,上图为Linux版本的截图,Mac版的和它差不多。如果是Windows版本的,conf文件夹不在安装目录下,而是在C盘下,具体位置:



对于ejabberd.yml文件,我一共修改了三处。第一处修改:



将图中的trusted_network的配置修改成:

  ## Only allow to register from localhost  trusted_network:    - allow

第二处:


将registration_timeout的注释打开,这段就变成了:

## By default the frequency of account registrations from the same IP## is limited to 1 account every 10 minutes. To disable, specify: infinityregistration_timeout: infinity

第三处:


打开access_from的注释,并修改配,同时注释掉ip_access:

    ##ip_access: trusted_network    ##    ## Local c2s or remote s2s users cannot register accounts    ##    access_from: register    access: register

修改完配置后,命令行进入ejabberd安装目录的bin目录下,运行"./stop"命令停止ejabberd服务,再运行"./start"启动ejabberd服务,配置即可生效,可以运行"./status"命令查看ejabberd是否启动(stop和start需要等待一小段时间完成,千万不要命令没有执行完就强制退出):


关于ejabberd服务器的配置修改到此结束,如果哪里介绍的有纰漏,欢迎大家指教!

0 0
原创粉丝点击