必须为qbittorrent webui配置ssl证书以启用https:一、let’s encrypt(公网域名推荐);二、自签名证书(内网测试);三、反向代理(nginx/apache卸载tls);四、docker挂载证书;五、群晖nas图形化配置。

如果您在使用qBittorrent WebUI时希望启用加密连接以防止登录凭证、种子元数据及API通信被窃听或篡改,则必须为其配置有效的SSL证书。以下是实现qBittorrent WebUI HTTPS安全访问的多种可行方法:
一、使用Let’s Encrypt证书(推荐用于有域名的公网部署)
该方法适用于拥有独立域名并可进行HTTP或DNS验证的生产环境,证书由权威CA签发,浏览器完全信任,且支持自动续期。
1、确保qBittorrent服务未占用80/443端口,或临时停止WebUI以释放80端口供Certbot验证使用。
2、安装Certbot工具:执行sudo apt install certbot python3-certbot-nginx(Ubuntu/Debian)或sudo yum install certbot python3-certbot-nginx(CentOS/RHEL)。
3、运行独立模式获取证书:执行sudo certbot certonly --standalone -d your-domain.com,其中your-domain.com需替换为已解析至本机IP的合法域名。
4、确认证书生成路径:默认保存于/etc/letsencrypt/live/your-domain.com/fullchain.pem(证书链)和/etc/letsencrypt/live/your-domain.com/privkey.pem(私钥)。
5、在qBittorrent WebUI设置中,进入“选项 → Web UI → 启用HTTPS而不是HTTP”,然后分别指定上述两个文件的绝对路径。
二、使用自签名证书(仅限本地或内网测试)
该方法无需域名与公网可达性,适合开发、家庭局域网或临时调试场景;但浏览器将显示不安全警告,且需手动导入根证书才能消除提示。
1、生成2048位RSA密钥对与自签名证书:执行openssl req -newkey rsa:2048 -nodes -keyout qb.key -x509 -days 365 -out qb.crt,过程中按提示输入国家、组织、通用名(CN建议填主机IP或localhost)等信息。
2、合并证书与密钥为单文件(部分qBittorrent版本要求):执行cat qb.crt qb.key > qb.pem。
3、将生成的qb.crt和qb.key(或qb.pem)复制到服务器上可被qBittorrent进程读取的安全路径,例如/opt/qb-ssl/。
4、在qBittorrent WebUI设置中勾选“启用HTTPS而不是HTTP”,并将证书路径设为/opt/qb-ssl/qb.crt,密钥路径设为/opt/qb-ssl/qb.key。
三、通过反向代理统一终止HTTPS(Nginx/Apache方案)
该方法将SSL卸载至反向代理层,qBittorrent本身仍以HTTP运行,降低其TLS处理开销,并便于集中管理证书、添加安全头与访问控制策略。
1、确保qBittorrent WebUI监听在本地回环地址(如127.0.0.1:8080),并在“选项 → Web UI → 限制WebUI访问”中启用IP白名单,仅允许127.0.0.1。
2、在Nginx配置中创建server块,监听443端口,配置SSL证书路径与TLS参数:
3、在server块内添加proxy_pass指令,将请求转发至http://127.0.0.1:8080,并设置必要的代理头:proxy_set_header X-Forwarded-For $remote_addr、proxy_set_header X-Forwarded-Proto $scheme。
4、启用HSTS头增强安全性:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;。
5、重启Nginx服务并验证HTTPS响应状态码为200且无混合内容警告。
四、Docker环境下挂载证书文件(适用于linuxserver/qbittorrent等镜像)
该方法利用Docker卷映射机制,将宿主机上的证书文件安全注入容器内部,避免在镜像中硬编码敏感路径,符合不可变基础设施原则。
1、在宿主机创建证书目录,例如/srv/qb/ssl/,并将fullchain.pem与privkey.pem放入其中。
2、启动容器时通过-v参数挂载该目录:添加-v /srv/qb/ssl:/config/ssl:ro,确保容器内路径为/config/ssl/且只读。
3、设置环境变量指定证书位置:添加-e SSL_CERTIFICATE=/config/ssl/fullchain.pem与-e SSL_PRIVATE_KEY=/config/ssl/privkey.pem(具体变量名依镜像文档而定)。
4、确认容器日志输出中包含“Web UI HTTPS mode enabled”字样,表示证书加载成功。
五、群晖NAS平台专用配置(DSM 7+ Container Manager)
该方法适配群晖官方Container Manager界面操作逻辑,避开命令行,全程图形化完成HTTPS启用,同时兼容DSM证书中心统一管理能力。
1、进入Container Manager → 镜像 → 拉取linuxserver/qbittorrent镜像(latest标签)。
2、创建容器时,在“卷”设置页添加两处映射:宿主机/volume1/docker/qb/config → 容器/config;宿主机/volume1/docker/qb/ssl → 容器/config/ssl。
3、将已准备好的server.crt与server.key上传至宿主机/volume1/docker/qb/ssl/目录下。
4、在“环境变量”页新增两条变量:SSL_CERTIFICATE=/config/ssl/server.crt,SSL_PRIVATE_KEY=/config/ssl/server.key。
5、启动容器后,通过DSM主菜单中“qBittorrent”快捷入口访问,URL将自动跳转至https://your-nas-ip:8080。











