找回密码
 立即注册
搜索
热搜: SDN 云计算 H3C
查看: 250|回复: 0

[seafile] seafile11.X登录时报"CSRF verification failed. Origin checking failed"

[复制链接]

58

主题

13

精华

8

回帖

管理员

体力
313 卡
贡献
162 个
金币
256 枚
注册时间
2018-8-25
最后登录
2024-6-29

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老最佳新人

发表于 2024-3-23 23:49:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
docker seafile-ce 11.0.5安装时,web端登录报错。


Forbidden (403)
CSRF verification failed. Request aborted.


Help
Reason given for failure:


Origin checking failed - https://**.com does not match any trusted origins.


日志
2023-11-28 13:47:58,429 [WARNING] django.security.csrf:241 log_response Forbidden (Origin checking failed -
docker中使用了端口映射,将seafile容器的TCP 80映射为TCP 1080,10.0.X及之前版本都没问题。


通过官方论坛终于找到原因及解决办法。

原因分析:
10 版本用的是 django 3.2。11 版本用的是 django 4.2。django 4.2 相对 django 3.2,在 csrf 检查时,新增了对 origin http header 的检查。
可能是因为本人修改了端口映射,导致 django 4.2 中 origin http header 检查不通过。配置了 CSRF_TRUSTED_ORIGINS 就会跳过 csrf 的检查。

解决办法1:
在seahub_settings.py 中添加配置:
CSRF_TRUSTED_ORIGINS = ['https://**.com']    #填你的访问地址


解决办法2:(官方推荐)
因为本人自定义了端口号,所以最优的解决方法是修改一下 nginx 的配置,把 8899 端口加入到 host 中:
# vim /....../seafile/seafile-data/nginx/conf/seafile.nginx.conf
    location / {
        ...
        proxy_set_header Host $host:1080;
        ....


以上方法,亲试有效!




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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