You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jitsi Docker登录异常:带域名用户名报错及禁用XMPP后问题求助

问题分析与解决思路

核心问题定位

两种错误均指向XMPP域名路由配置异常:

  • host-unknown:XMPP服务器(prosody)无法识别请求中的域名部分,说明未配置该域名的虚拟主机或路由规则。
  • improper-addressing:BOSH连接地址格式不符合服务器预期,本质是域名与XMPP服务的映射关系未正确配置。

具体解决步骤

1. 检查Prosody虚拟主机配置

进入Jitsi Docker的prosody容器,编辑主配置文件(路径通常为/etc/prosody/conf.d/[你的域名].cfg.lua):

  • 确认已添加登录时所用域名的虚拟主机配置:
    VirtualHost "你的域名.com"
        enabled = true
        ssl = {
            key = "/var/lib/prosody/你的域名.com.key";
            certificate = "/var/lib/prosody/你的域名.com.crt";
        }
        authentication = "ldap" -- 与你的LDAP认证配置保持一致
    
  • 若使用子域名(如meet.你的域名.com),需确保该子域名已在prosody中配置为独立虚拟主机。

2. 修正Jitsi Meet域名映射配置

修改Jitsi Meet的config.js文件(Docker环境下通常位于/config/config.js):

  • 确保hosts字段包含登录时使用的域名:
    var config = {
        hosts: {
            domain: '你的域名.com',
            muc: 'conference.你的域名.com',
            bridge: 'jitsi-videobridge.你的域名.com',
            jicofo: 'jicofo.你的域名.com'
        },
        // 其他配置项...
    };
    
  • 若登录格式为username@meet.你的域名.com,需将domain字段设为meet.你的域名.com。

3. 适配LDAP认证的用户名格式

调整prosody的LDAP模块配置,支持带域名的用户名输入:

  • 在prosody配置中添加域名剥离规则,让服务器自动提取@前的纯用户名去LDAP查询:
    authentication = "ldap"
    ldap = {
        base = "ou=users,dc=你的域名,dc=com";
        filter = "(uid=%u)"; -- %u会自动忽略@后的域名,仅使用前面的用户名
        -- 其他LDAP配置(如服务器地址、绑定账号等)...
    }
    

4. 重启容器生效配置

执行Docker命令重启prosody和jitsi-meet容器:

docker restart jitsi-prosody jitsi-meet

5. 排查网络与SSL额外问题

  • 确认SSL证书包含所有用到的域名(主域名、子域名),避免证书不匹配导致连接中断。
  • 检查容器间网络连通性,确保jitsi-meet容器能正常访问prosody容器的XMPP/BOSH端口。

内容的提问来源于stack exchange,提问作者bastus11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 11:10:05