Linux下用Nginx给qBittorrent设置SSL开启HTTPS访问
用nginx反向代理给qbit实现https访问,99%的设置都和【Linux下用Nginx给File Browser设置SSL开启HTTPS访问】一样,没错,又是99%的内容都是和filebrowser那篇一样。但还是那个问题,直接照搬的话会有一个坑,完成配置以后,用https访问qbit-webui会显示空白页面并提示unauthorized
。
很明显这是碰到了一个安全设置问题,访问被qbit拒绝了。
有两个解决方案。
方案一:关闭qbit的一些安全设置
qbit webui设置中的【启用host header属性验证】和【启用跨站请求伪造保护】两个功能去掉勾选。
方案二:修改nginx反向代理的配置
参考qbit【官方wiki给出的方案】,调整nginx中的一些配置。
假定原规则如下:
location / {
proxy_pass http://localhost:8089;
}
调整以后的配置如下:
location / {
proxy_pass http://localhost:8089;
proxy_http_version 1.1;
proxy_set_header Host localhost:8089;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
# qbit版本v4.2.2以上加入这条保护cookie安全
proxy_cookie_path / "/; Secure";
}
使用以上配置以后,实测qbit webui中可以开启安全设置,注意服务器域名哪里要填localhost
。