У меня тоже возникли сложности с этим.
У меня есть сервер Debian с Apache 2.4 и виртуальными хостами (vHosts), один из которых представляет собой контейнер Docker с Discourse. В Apache включен модуль mod_remoteip (модуля mod_extract_forwarded не было), но без каких-либо опций конфигурации. Конфигурация vHost довольно проста:
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known !
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
8083 — это открытый HTTP-порт контейнера Docker с Discourse.
Всё, в принципе, именно так.
Я вижу разных посетителей (по IP) в статистике, созданной на основе access.log Apache, и, что более важно, я также вижу разные последние IP-адреса для пользователей (это был простой способ проверки для меня). Похоже, что IP-адреса посетителей передаются через прокси Apache в Discourse. Это работало уже и до включения mod_remoteip, что я сделал всего несколько дней назад.
В любом случае, сейчас у меня снова возникли проблемы. Какой-то краулер или атака типа DoS выполняется на нашем сервере с IPv4-адреса из Кракова, Польша. Это вызывает множество ошибок 429. Для меня это нормально, но при этом все остальные посетители также получают эти ошибки.
Так ли это? То есть, когда предел подключений достигнут, ошибку получает каждый? Или только для конкретного IP?
Чего-то не хватает в моей конфигурации или я могу что-то улучшить/настроить? У нас были проблемы с Claudebot несколько недель назад и также несколько дней назад, возможно, нужно немного увеличить лимит.
Спасибо и приветствия,
Рой