在两个端口上有一个连接......在 5288 用户通过浏览器的 Web 套接字连接,在 5222 通过常规客户端连接......当没有访问限制时,一切都连接,一切正常......如果我只添加访问权限到客户端端口 5222 上的管理员,然后 5288 上的 websocket 开始流动“服务服务拒绝访问。SASL 绑定失败。” ...问题是,是否可以按端口划分访问?我在哪里可以扭它?
listen:
-
port: 5288
module: ejabberd_http
request_handlers:
"/ ws": ejabberd_http_ws
web_admin: true
-
port: 5222
module: ejabberd_c2s
# access:
# - allow: admin
一段时间后......在服务器故障星系......
我将使用 ejabberd,所以...我花了一些时间来学习 Erlang。如果我正确理解了所有内容,则可能认为模块“http”和“c2s”的属性“access”常见。而且,“ejabberd_http”模块根本没有这个属性。读取配置时,始终只采用第一次读取“ejabberd_c2s”的第一次“访问”。但是,正如我在问题中所写,这不是我的情况。我需要“http”和“c2s”的单独访问权限。解决问题:
然后我简单地编译了这3个文件并将替换的模块上传到服务器。重新启动服务器,瞧。现在您可以分别为“http”和“c2s”设置访问权限。现在 Gajim(5222 端口)只在管理员登录下进行连接,同时 websocket(5288 端口)对所有连接都可用(默认为“access:all”,除非明确指定)。