Administrator
发布于 2025-12-12 / 12 阅读
0

qBittorrent Docker Host验证设置错误导致Web UI无法访问的解决方案

想起来还挺蠢的——改了一个安全设置,把自己锁外面了。

UNRAID 上的 qBittorrent,想着安全加固一下,顺手把 Host header 验证从默认的通配符 * 改成了域名。保存之后刷新页面——401 Unauthorized,白屏。试了 IP 直连、换端口、清缓存,全不行。

qBittorrent 的 Host 验证逻辑:检查 HTTP 请求头里的 Host 字段跟你设置的值是否一致。不一致就直接拒绝。这个机制本来是防 DNS 重绑定攻击的,结果防成了自己。

好在我还能 SSH 进 UNRAID。

怎么修

找到 qBittorrent 的配置文件。路径取决于你的 Docker 挂载方式,我的是:


# 看容器名
docker ps | grep qbit

# 查挂载路径
docker inspect qbittorrent | grep -A5 Mounts

我的配置文件在 /mnt/user/appdata/qbittorrent/config/qBittorrent.conf

打开,找到这两行:


WebUI\HostHeaderValidation=true
WebUI\ServerDomains=你填错的域名

改成:


WebUI\HostHeaderValidation=false
WebUI\ServerDomains=*

或者直接删掉这两行,qBittorrent 会恢复默认。

保存,重启容器:


docker restart qbittorrent

等十秒,浏览器打开,回来了。全程不到两分钟,但因为不知道问题在哪,之前瞎折腾了半小时。

NAS 上的安全设置,留个后门

这种配置锁死的坑在自托管场景里挺常见的。改安全设置之前做好两件事:备份配置文件 + 确认 SSH 能通。只要 SSH 还能进,大部分「UI 锁死」的问题就是改几行配置的事。