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

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

当我们连接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服务器,Mac版的和它差不多。如果是Windows版本的,conf文件夹不在安装目录下,而是在C盘下,具体位置:

QQ截图20170106084103.png

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

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  

第三处:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,589评论 9 467
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,524评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 今天是日更是第35天,加油! 今天的是三天小长假的第一天,下午收到效率手册。迫不急待的翻开,只是觉得本子的格子太小...
    青衣雨翼_shape阅读 234评论 0 0