ejabberd - 是否可以有多个域名但只有一个用户存储?
问题描述
我们正在使用长期安装的 ejabberd。我们都在使用一个名为的 jid{username}@xmpp.foo.bar
是否有可能将此主机与域命名?
我想要,我可以使用 baz@foo.bar 登录,但内部 ejabberd 应该连接为account baz@xmpp.foo.bar
. 这将阻止我迁移所有用户并让所有用户更改那里的客户端。
感谢帮助。
解决方案
如果您希望客户端能够登录指定为 JID baz@foo.bar
,则 DNS 查询foo.bar
必须将客户端定向到处理 ejabberd 的机器,并且在 ejabberd.yml 中您必须具有:
hosts:
- "foo.bar"
那么问题来了,如何利用已有的信息呢?我建议修改数据库内容,用新主机替换旧主机。
如果您使用一些 SQL 数据库,您可能已经知道要执行哪些查询。或者,您可以将数据库转储到文本文件中,替换xmpp.foo.bar
为foo.bar
,然后再次加载。
如果你使用内部的 Mnesia 数据库,你可以将它转储到一个文本文件中,像我之前提到的那样进行修改,然后加载修改后的文本文件。
推荐阅读
- javascript - undefined 不是函数(评估 't.map(function(t){return u(t)})')
- crystal-lang - Lucky 框架的查询接口
- laravel - 使用 Maatwebsite 导入 Laravel Excel
- javascript - 处理图像时没有从“cmyk”到“srgb”的已知路线
- r - 如何在R中的主图表下显示指标图表
- sparql - 合并抛出错误,即使它应该抑制
- html - 如何根据屏幕缩放级别调整字体大小?
- java - SpringBoot 和 Hibernate 无法根据提供的条件检索对象列表
- cookies - chrome 扩展程序能否监控清单文件中允许域的安全 cookie?
- ios - 导航栏框尺寸计算