Nginx 容器外部的速率限制——有什么建议?

有没有人能分享一下在 Docker 容器外(使用 Discourse 通过 socket 部署)的 nginx 限流配置?谢谢。

我似乎无法正确调整它,结果仍然限制了正常流量。

您的意思是流量在不该被限制时被限制了,还是该被限制时却没有被限制?

没错……首先,我将容器内部的模板移到了外部。我不知道针对外部 Nginx 的速率限制是否有推荐的配置。
表情符号和头像似乎应该与其他流量采用不同的限制策略。

顶一下……真的没人愿意分享在外层 Nginx 上处理速率限制的技巧吗?先谢过!

请不要顶帖。如果有人能为您解答,我相信他们早就主动回答了。

假设您已经遵循了此处元讨论区中的其他指南,并且 nginx 已正确配置 以将客户端 IP 传递到容器中,那么这实际上是一个 Discourse 的问题吗?

a) 据我所知,推荐在容器外部使用 nginx
b) 它应该根据 Discourse 的具体需求量身定制

所以,是的,我认为这是一个与 Discourse 相关的问题。

这真的正确且是推荐的做法吗?

应从 Docker 配置中移除 速率限制模板 templates/web.ratelimited.template.yml,然后在外部 nginx 实例中配置速率限制。

不,Discourse 在容器外部不需要 Nginx。

Nginx 已经内置于容器中,并会自动配置。只要您遵循标准安装步骤,即可实现零配置。

如果您在主机上没有运行其他服务,则完全不需要外部 Nginx 实例。

抱歉,但我不认为对于高流量网站来说,20 多分钟的应用重建且没有任何离线页面是好的做法。

需要停机的手动重建每年发生一到两次。如果通过 /admin/upgrade 进行升级,则升级过程无缝无感。

采用双容器安装可显著缩短重建时间,无论您是否使用 nginx,我都建议您考虑这一方案。

双容器安装听起来不错。但我在这里的论坛上找不到任何相关文档 :frowning: ..

不,并非如此。这是可行的,但并非标准建议。

以下是相关指南。

如果你的主要顾虑是重建过程中的停机时间,那么这是最佳方案。如果你需要帮助进行设置,Marketplace 频道中会有人提供帮助。