Discourse перегружен реальным трафиком или DDoS? 100% загрузка ЦП при адекватном трафике и мощном сервере

IP-адрес 172.17.0.1, вероятно, является Docker-адресом. Я предполагаю, что логи, которые вы опубликовали, относятся к сервису nginx в контейнере Discourse. Скорее всего, nginx на вашем хосте пересылает запросы в nginx внутри контейнера Discourse, и именно этот nginx видит IP-адрес от nginx на вашем хосте.

Вы можете исправить это, либо установив в Discourse значение заголовка, отправляемого nginx на хосте, как реальный IP, либо используя сокет для соединения сервисов nginx.

Например, в конфигурации nginx на хосте вы можете добавить proxy_set_header X-Real-IP $remote_addr;, а в конфигурации nginx внутри контейнера Discourse использовать реальный IP на основе этого заголовка: set_real_ip_from 0.0.0.0/0; (при условии, что к nginx в Discourse нет прямого публичного доступа) и real_ip_header X-Real-IP;. Возможно, вам потребуется использовать шаблон или выполнить команду sed, чтобы внести эти изменения в конфигурационный файл nginx в Discourse.

Другой вариант — использование сокетов и включение файла web.socketed.template.yml в соответствии с инструкциями по ссылке:

Однако, если это возможно, я рекомендую использовать Discourse на отдельном сервере, без необходимости использовать nginx в качестве обратного прокси-сервера. Это сделает настройку гораздо более простой и понятной.