Nextcloud 防暴力尝试功能导致用户登录过慢的问题

我们的 Nextcloud 使用 Nginx 做了反向代理,今天有部分用户反馈登录缓慢,登录成功前需要等待大约30秒。

Nextcloud 防暴力尝试功能导致用户登录过慢的问题

NextCloud 突然登录很慢,要等待 30s 超时过后才会登录成功。

经过排查,发现是 Nextcloud 默认开启是了 "暴力尝试保护"(bruteforce.protection)功能,拦截了它认为访问尝试过多的用户 IP,并延缓(slow down)了登录行为。

找到原因,我们就可以解决了。

先在配置文件中将 auth.bruteforce.protection.enabled 设置成 false,同时清空 mysql 的 oc_bruteforce_attempts 表。

vim config.php
auth.bruteforce.protection.enabled' => false,

# 登录数据库并清空表 
mysql -u root -p

USE Nextcloud;
SHOW TABLES;
SELECT * FROM oc_bruteforce_attempts;

# 清空 oc_bruteforce_attempts 表
DELETE FROM oc_bruteforce_attempts;

# 最后重启相关服务
systemctl restart nginx php-fpm mariadb

https://help.nextcloud.com/t/solved-bruteforce-detection-blocking-my-ip-but-theres-no-oc-bruteforce-attempts-database/7652
https://github.com/nextcloud/server/issues/3645