可以设置只允许经过认证的用户创建新的会议室。每当一个新的会议室即将被创建时,Jitsi Meet 将会提示输入用户名和密码。在会议室创建之后,其他人将能够从匿名域加入。以下是需要配置的内容:
Prosody 配置
如果您已经从 Debian 软件包安装了 Jitsi Meet,则应在 /etc/prosody/conf.avail/[your-hostname].cfg.lua
中进行这些更改。
启用身份验证
在 VirtualHost "[your-hostname]"
块内,将匿名身份验证替换为哈希密码身份验证:
VirtualHost "meet.icloudportal.com"
authentication = "internal_hashed"
将 meet.icloudportal.com
替换为您的主机名。
为访客启用匿名登录
在前面的 VirtualHost 后添加以下块以启用访客的匿名登录方法:
VirtualHost "guest.meet.icloudportal.com"
authentication = "anonymous"
c2s_require_encryption = false
请注意,guest.meet.icloudportal.com 是 Jitsi 内部使用的,并且您不需要(也不应该)为其创建 DNS 记录,或生成 SSL/TLS 证书,或进行任何 Web 服务器配置。虽然它是内部的,但您仍然应该将 jitsi-meet.icloudportal.com 替换为您的主机名。
Jitsi Meet 配置
在 config.js 中,需要设置 anonymousdomain 选项。
如果您已从 Debian 软件包安装 jitsi-meet,则应在 /etc/jitsi/meet/[your-hostname]-config.js 中进行这些更改。
var config = {
hosts: {
domain: 'meet.icloudportal.com',
anonymousdomain: 'guest.meet.icloudportal.com',
...
},
...
}
Jicofo 配置
运行 Jicofo 时,在额外的配置属性中指定您的主域。 Jicofo 只会接受来自经过身份验证的域的会议分配请求。 这应该作为 /etc/jitsi/jicofo/jicofo.conf 中的新的 ‘authentication’ 部分:
jicofo {
authentication: {
enabled: true
type: XMPP
login-url: jitsi-meet.example.com
}
...
当使用基于令牌的身份验证时,类型必须将方案设置为 JWT:
jicofo {
authentication: {
enabled: true
type: JWT
login-url: jitsi-meet.example.com
}
...
在 Prosody 中创建用户(内部身份验证)
最后,运行 prosodyctl 在 Prosody 中创建用户:
sudo prosodyctl register <username> meet.icloudportal.com <password>
然后重新启动 prosody、jicofo 和 jitsi-videobridge2
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
可选:Jigasi 配置
启用身份验证
如果您正在使用 Jigasi,请通过编辑 /etc/jitsi/jigasi/sip-communicator.properties 中的以下行将其设置为进行身份验证:
org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
请注意,密码是实际的明文密码,而不是 base64 编码。
调试
如果您在证书链方面遇到问题,您可能需要取消注释 sip-communicator.properties 中的以下行:
net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true
注意:这只应用于测试/调试目的,或者在受控环境中。如果您确认这是问题,那么您应该以其他方式解决它(例如,为 Prosody 获取签名证书,或将特定证书添加到 Jigasi 的信任存储中)。