Возник вопрос о том, какой заголовок используется для ограничения частоты запросов (rate limiting). Для контекста: у нас есть nginx.conf с директивой set_real_ip, и мы используем провайдера, который передаёт нам трафик с реальным IP клиента в заголовке Some-Client-IP.
Discourse использует для ограничения частоты запросов заголовок X-Forwarded-For или X-Real-IP? Мне кажется, что он смотрит в X-Forwarded-For, потому что в production.log я вижу IP своего обратного прокси. Правильным решением будет ли изменить X-Forwarded-For так, чтобы он также использовал $remote_addr?
Вы добавили этот блок в свой app.yml? Эти настройки должны находиться в NGINX внутри контейнера. См. также Set up Discourse on a server with existing Apache sites. Это для Apache, но часть, которая добавляется в app.yml, одинакова независимо от того, какой сервер выполняет роль обратного прокси.
У нас нет HAProxy снаружи контейнеров; у нас есть DNS-провайдер, который выполняет для нас некоторую предварительную обработку, поэтому заголовок real_ip_header находится в другом значении заголовка, и у нас фактически есть список IP-адресов, которые нужно заменить.
Мы также видим список X-Forwarded-For; я задаюсь вопросом, не это ли причина того, что отображаются неверные IP-адреса.
Например, я думаю, что в логах production мы видим 111.11.11.111, но не 55.555.55.55, который нам нужен (так как он установлен в x-real-ip).