Nextcloud报错:"Access forbidden CSRF check failed"

### 重现步骤

1. 使用任何用户登录

2. 尝试退出

3. 发生错误

 

### 预期的行为

用户应该注销。

Nextcloud报错:"Access forbidden  CSRF check failed" 

Nextcloud配置Nginx跨区解决方案 

### 实际行为

用户单击注销,并提错误:

"Access forbidden

CSRF check failed"

 

### 解决方案(配置nginx)

1.​ 第一部分,是要在全局配置(默认路径/etc/nginx/nginx.conf)的http中利用map进行映射;

# 首先配置nginx.conf添加http map

vi /etc/nginx/nginx.conf

# 在http内增加如下内容后保存

map $http_upgrade $connection_upgrade { 
    default upgrade; '' close; 
}

 

2.​ 第二部分,则是在对应的nextcloud配置文件(自己创建/etc/nginx/conf.d/nextcloud.conf)中的server下配置IP传递。

# 配置nextcloud.conf反代配置文件,增加如下

  vi /etc/nginx/conf.d/nextcloud.conf 

proxy_set_header Host $http_host; 

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Upgrade $http_upgrade; 

proxy_set_header Connection $connection_upgrade;

 

配置完成后运行nginx -t进行检查,确认没有错误后运行nginx -s reloadsystemctl restart nginx重启nginx进行配置生效。

 

3.完成之后再次访问Nextcloud可能出现:反向代理的域名不在nextcloud的trusted_domains中你的来访域名不在nextcloud的信任域名中

# 修改 $nextcloud/config/config.php中的trusted_domains参数即可 

你可能感兴趣的:(Nextcloud报错:"Access forbidden CSRF check failed")