需要通过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 看到下面的图片,则成功了。
可能遇到的问题,点击注册出现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方式来创建
需要这四个参数。
username:hello
host:localhost
password:123456
password2:123456
参考资料
create-ejabberd-user-with-http
docs.ejabberd.im/get-started
mod_register_web-README.txt