通过HTTP创建ejabberd账号

需要通过http来创建ejabberd账号,查找了一些官方资料,记录一下。

配置信息

参考mod_register_web设置,做一些自己的修改。

#官方教程的参考
hosts:
  - "localhost"
  - "example.org"
  - "example.com"
listen:
  ...
  -
    port: 5281
    module: ejabberd_http
    register: true
    certfile: "/etc/ejabberd/certificate.pem"
    tls: true
  ...

modules:
  ...
  mod_register_web: {}
  ...

这是我修改,不需要https,取消了证书的配置和tls,添加ip限制。

  - 
    port: 5280
    module: ejabberd_http
    request_handlers:
      "/websocket": ejabberd_http_ws
    ##  "/pub/archive": mod_http_fileserver
    web_admin: true
    http_bind: true
    ## register: true
    captcha: false
  -
    ip: "127.0.0.1"
    port: 5281
    module: ejabberd_http
    register: true

配置之后,重启一下服务,登录http://localhost:5281/register/new 看到下面的图片,则成功了。

image1

image2

可能遇到的问题,点击注册出现404的界面,那可能是你请求的URL不正确,必须带/才行,官方module说明给出的解释。

In this example the page is served in https://example.org:5281/register/

Make sure to include the last / character in the URL.
Otherwise when you enter a subpage the URL will not be correct, 
for example: http://localhost:5281/new  --->  404 Not Found

HTTP请求

配置之后,通过网页请求并不是最终想要的结果,需要实现的是,通过HTTP请求来创建账号。

  • 通过CURL方式
curl -XPOST 127.0.0.1:5281/register/new -d 'username=lucky&host=localhost&password=test&password2=test'
  • 通过Postman方式来创建
image3
需要这四个参数。
username:hello
host:localhost
password:123456
password2:123456

参考资料

create-ejabberd-user-with-http
docs.ejabberd.im/get-started
mod_register_web-README.txt

你可能感兴趣的:(通过HTTP创建ejabberd账号)