Ограничение скорости Nginx вне контейнера — есть советы?

Может кто-нибудь поделиться своей рабочей конфигурацией для ограничения частоты запросов в nginx вне контейнера Docker (настройка с Discourse через сокет)? Спасибо..

Похоже, я не могу правильно настроить это, и при этом ограничиваю легитимный трафик.

Вы имеете в виду, что трафик ограничивается, когда этого не должно быть, или что вы не ограничиваете трафик, когда это необходимо?

Точно.. для начала я использовал шаблон изнутри контейнера и вынес его наружу. Не знаю, есть ли какая-то рекомендуемая конфигурация для ограничения скорости внешнего nginx.
Эмодзи и аватары, похоже, подходят для других ограничений, чем остальной трафик.

Поднимаю тему.. Действительно, никто не хочет поделиться своими советами по настройке лимитов скорости для внешнего nginx? Заранее спасибо!

Пожалуйста, не поднимайте темы. Если бы у кого-то был ответ на ваш вопрос, он бы наверняка его предложил.

Если вы следовали другим руководствам здесь, на meta, и nginx правильно настроен для передачи IP-адресов клиентов в контейнер, то действительно ли это проблема Discourse?

a) Насколько мне известно, рекомендуется использовать nginx вне контейнера.
b) Он должен быть специально настроен под требования Discourse.

Так что да, я считаю это проблемой, связанной с Discourse.

Это действительно так и является рекомендуемой практикой?

Шаблон ограничения скорости templates/web.ratelimited.template.yml следует удалить из конфигурации Docker, а ограничение скорости затем настроить во внешнем экземпляре nginx.

Нет, Discourse не требует nginx за пределами контейнера.

Nginx уже существует внутри контейнера и настраивается автоматически. Это полностью автоматический процесс, если вы следовали стандартной инструкции по установке.

Если на хосте не запущены другие службы, внешний экземпляр nginx вам вообще не нужен.

Извините, но я не думаю, что пересборка приложения за 20+ минут без какой-либо офлайн-страницы — это хорошая практика (для сайта с высоким трафиком).

Ручные пересборки, требующие простоя, выполняются один-два раза в год. Если вы обновляете систему через /admin/upgrade, процесс обновления проходит без перебоев.

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

Установка с двумя контейнерами звучит хорошо. Но я не могу найти по этому поводу никакой документации здесь, на форуме :frowning:

Нет, это не так. Это возможно, но не является стандартной рекомендацией.

Вот руководство.

Если ваша главная проблема — простои во время пересборки, то это будет вашим лучшим выбором. Если вам нужна помощь в настройке, кто-то в канале Marketplace сможет помочь.