我在 /var/log/nginx/access.log 中可以看到 IP 地址是正确的,所以我认为 Discourse 没有将所有请求都视为来自同一个 IP。
我也能在管理员界面看到用户的 IP 地址。
这些是我修改过的设置:
DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 1200
DISCOURSE_MAX_USER_API_REQS_PER_MINUTE: 60
DISCOURSE_MAX_REQS_PER_IP_MODE: none
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: 100
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: 400
编辑:我刚检查了一个失败请求的响应内容,注意到它提到了 nginx:
<html>\r\n<head><title>429 Too Many Requests</title></head>\r\n<body>\r\n<center><h1>429 Too Many Requests</h1></center>\r\n<hr>\n<center>nginx</center>\r\n</body>\r\n</html>\r\n
我将对提及 nginx 的主题做进一步调查。