首页 > 解决方案 > 是否可以有多个域名但只有一个用户存储?

问题描述

我们正在使用长期安装的 ejabberd。我们都在使用一个名为的 jid{username}@xmpp.foo.bar 是否有可能将此主机与域命名?

我想要,我可以使用 baz@foo.bar 登录,但内部 ejabberd 应该连接为account baz@xmpp.foo.bar. 这将阻止我迁移所有用户并让所有用户更改那里的客户端。

感谢帮助。

标签: ejabberd

解决方案


如果您希望客户端能够登录指定为 JID baz@foo.bar,则 DNS 查询foo.bar必须将客户端定向到处理 ejabberd 的机器,并且在 ejabberd.yml 中您必须具有:

hosts:
  - "foo.bar"

那么问题来了,如何利用已有的信息呢?我建议修改数据库内容,用新主机替换旧主机。

如果您使用一些 SQL 数据库,您可能已经知道要执行哪些查询。或者,您可以将数据库转储到文本文件中,替换xmpp.foo.barfoo.bar,然后再次加载。

如果你使用内部的 Mnesia 数据库,你可以将它转储到一个文本文件中,像我之前提到的那样进行修改,然后加载修改后的文本文件。


推荐阅读