全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3073|回复: 3

[翻译] qbittorrent的webUI在开启CSRF保护后本机caddy反代失败的问题

[复制链接]
发表于 2019-7-7 09:50:56 | 显示全部楼层 |阅读模式
本帖最后由 IMFINETHXANDU 于 2019-7-7 23:20 编辑

qbittorrent的webUI,想反代通过域名进行访问,设置里勾选"启用跨站点请求伪造(CSRF)保护"后不能正常显示,取消勾选就正常。
有大佬知道怎么回事儿吗?

(解决方案详见最后)

原反代设置如下(caddy):
  1. https://sub.domain.tld {
  2.   tls xxxx@xxx.xxx
  3.   timeouts none
  4.   gzip
  5.   proxy / localhost:12345 {
  6. #    header_upstream -Origin
  7.   }
  8. }
复制代码

设置界面相关区域有以下几个可勾选和设置的选项:
验证
     □ 启用“点击劫持”保护
     □ 启用跨站点请求伪造(CSRF)保护
           □ 启用主机标头验证
              服务器域名:____________

默认设置勾选的前两个启用保护,试着取消勾选CSRF保护后通过域名打开正常,但是不知道有没有什么弊端,另外还是想知道启用后有没有可行的反代方法。

=========================================================================

解决过程:
通过查找qbittorrent的wiki(https://github.com/qbittorrent/qBittorrent/wiki/NGINX-Reverse-Proxy-for-Web-UI)
发现在nginx中,大概需要这样:
  1. location /qbt/ {
  2.     proxy_pass              http://127.0.0.1:8080/;
  3.     proxy_set_header        X-Forwarded-Host        $server_name:$server_port;
  4.     proxy_hide_header       Referer;
  5.     proxy_hide_header       Origin;
  6.     proxy_set_header        Referer                 '';
  7.     proxy_set_header        Origin                  '';
  8.     add_header              X-Frame-Options         "SAMEORIGIN"; # see note
  9. }
复制代码

在caddy中要实现相似效果,通过查看http.proxy的说明(https://caddyserver.com/docs/proxy),发现了如下信息:
transparent
Passes thru host information from the original request as most backend apps would expect. Shorthand for:
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}

试着将反代配置如下设置,成功了:
https://sub.domain.tld {
  tls xxxx@xxx.xxx
  timeouts none
  gzip
  proxy / localhost:12345 {
    transparent
  }
}

此时勾选前两个保护,一切正常。试着开启主机标头验证,"服务器域名"填写sub.domain.tld,仍然正常。
 楼主| 发表于 2019-7-7 10:24:42 | 显示全部楼层
自顶一下吧,关爱强迫症患者人人有责啊
发表于 2019-7-7 10:34:05 来自手机 | 显示全部楼层
没用过candy,只用nginx,帮顶一下
发表于 2019-7-7 10:38:30 来自手机 | 显示全部楼层
不想折腾了,直接把csrf关了。到现在倒也没出现过什么问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-23 15:05 , Processed in 0.057721 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表