将通过docker部署的10.0.1升级到11.0.6后登录管理系统提示错误

image

将通过docker部署的10.0.1升级到11.0.6后登录管理系统提示错误。
升级的操作只是将seafile的image从10.0.1该到了11.0.6.
请教应该如何解决,谢谢

Seafile 11 使用 Django 4.2。Django 4.2 修改了 CSRF 的认证方式,要求 HTTP 头部中的 origin 字段和 host 字段一致。

这里的不一致有可能是旧版的 Nginx 配置导致的,可以修改 Nginx 配置来解决。如下,把 $http 改成 $http_host

  location / {
        ...
        proxy_set_header Host $http_host;
        ....

也可以通过在 seahub_settings.py 中设置 CSRF_TRUSTED_ORIGINS 来解决这个问题

CSRF_TRUSTED_ORIGINS = ["https://<your-domain>"]

1 个赞

感谢专家指点。

我的配置环境是在内部网络
IP地址是192.168.1.33
seafile的ports配置是 -“8020:80”

路由器上做了NAT转换,8020端口转8020

域名是:xxz.touzilab.com

在外网通过 xxz.touzilab.com:8020访问,没有配置https

Nginx配置文件如下:

seahub相关配置如下:

目前的情况是登录管理系统正常,但是在查看共享管理的时候报告错误:

请教专家应该如何处理。多谢多谢。

这两种方式选择一个就行,如果是seahub中配置要带上端口

谢谢解答,如果是seahub,配置带上端口,前面的https是不是要改为http?

你如果是https 就写https http就写http

完全按您的指导配置,共享管理中的资料库和文件夹还是提示错误,但链接可以。请问我还可以做哪些尝试呢?谢谢您。

看一下seahub的日志 有什么报错

好的,谢谢您