docker安装seafile出现CSRF verification failed. Request aborted.解决方法
环境:Centos 7.5 x64 docker Version: 19.03.4 date:2019-11-08
说明:docker部署seafile,不想用443端口,改为600端口,安装好登录却报以下错误
Forbidden (403)
CSRF verification failed. Request aborted.
More information is available with DEBUG=True.
解决方法:
启动docker容器seafile,并修改docker容器内的nginx配置
路径:/templates/seafile.nginx.conf.template(这个是nginx配置文件模板,每次启动自动生成nginx的配置)
server {
{% if https -%}
listen 443;
ssl on;...........
listen 80;
{% endif -%}
server_name {{ domain }};
client_max_body_size 10m;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_read_timeout 310s;
{% if https -%}
proxy_set_header Host $host:600; #在host后面加一个:600端口(600为https对外端口,根据自己的需求更改)
{% else -%}
proxy_set_header Host $host;
{% endif -%}
}
保存并退出容器
重启docker容器
docker restart seafile
说明:重启容器,docker会根据文件/templates/seafile.nginx.conf.template,自动生成/etc/nginx/sites-enabled/seafile.nginx.conf文件
成功!