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

博主CSDN昵称:守护者ly,欢迎大家前去指点

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

    
    
  Denied by ACL  
    

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

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

ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法_第1张图片
QQ截图20170106084103.png

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

ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法_第2张图片
QQ截图20170106084435.png

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

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

第二处:

QQ截图20170106162112.png

将registration_timeout的注释打开并做修改,这段就变成了:

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

第三处:

ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法_第3张图片
QQ截图20170106162333.png

打开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服务器的配置修改到此结束,如果哪里介绍的有纰漏,欢迎大家指教!

你可能感兴趣的:(ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法)