安装Kiwi TCMS多租户支持后无法重新登录的问题排查求助
看起来你遇到的是多租户配置后会话管理或域名匹配类的问题,我帮你梳理几个可能遗漏的配置和操作:
1. 确认KIWI_TENANTS_DOMAIN与反向代理域名完全匹配
多租户模式下,Kiwi TCMS依赖域名识别租户,你设置的KIWI_TENANTS_DOMAIN必须和Apache反向代理对外提供服务的根域名完全一致(比如你的服务是kiwi.example.com,那KIWI_TENANTS_DOMAIN就该设为example.com)。如果域名不匹配,会话Cookie的作用域会出现问题,导致登录请求无法被系统正确识别。
你可以用这条命令确认容器内的环境变量设置:
podman exec kiwi_web printenv | grep KIWI_TENANTS_DOMAIN
2. 补全Apache反向代理的头部转发配置
多租户模式下,Apache需要正确转发Host头部和Cookie信息,否则Kiwi TCMS无法识别租户上下文。确保你的Apache配置包含以下内容:
ProxyPass / http://<kiwi_web容器IP>:8080/ ProxyPassReverse / http://<kiwi_web容器IP>:8080/ RequestHeader set X-Forwarded-Proto "https" # 如果你用了HTTPS协议 RequestHeader set X-Forwarded-Host "%{HTTP_HOST}e" env=HTTP_HOST ProxyPreserveHost On
另外也要确认Cookie的路径和域名设置没有被浏览器拦截的风险。
3. 检查租户创建时的子域名配置
你用create_tenant命令创建租户时,是否指定了正确的子域名?比如根域名是example.com,租户域名应该是tenant1.example.com这类格式。如果创建租户时域名填写错误,登录请求会找不到对应的租户实例,进而导致无响应。
如果还能通过旧会话访问管理后台,可以进入Mandant模块查看租户的域名配置是否正确。
4. 清理浏览器缓存与旧Cookie
旧的会话Cookie可能会干扰多租户模式的登录逻辑,退出后手动清理浏览器对应域名下的所有Cookie,再尝试重新登录。
5. 执行多租户专属的数据库迁移命令
虽然你已经执行了migrate,但多租户插件需要额外的 schema 迁移步骤,重新执行这条命令确保所有租户的数据库结构完整:
podman exec -it kiwi_web /Kiwi/manage.py migrate_schemas --shared
6. 查看Kiwi容器日志定位报错
登录无响应时,查看kiwi_web容器的日志,能帮你找到具体的错误原因:
podman logs -f kiwi_web
日志里可能会出现租户识别失败、Cookie验证错误等信息,快速定位问题点。
内容的提问来源于stack exchange,提问作者Steini

