将nginx与expressJS结合使用时,我应该在express或nginx中使用压缩吗?

将nginx与expressJS结合使用时,我应该在express或nginx中使用压缩吗?,express,nginx,compression,Express,Nginx,Compression,我有一个应用程序运行在nodeJS/express上,也使用nginx。如果我压缩两个系统上提供的文件,我想这会减慢服务器响应时间。因此,在将nginx与expressJS组合时,您是否使用或?或者根本没关系 我知道这可能是基于意见,但我真的想得到一些反馈。提前感谢NGINX还支持一些更好的Brotli压缩(除了gzip),via。 因此,在NGINX中完成所有压缩更有意义 如果保留这两个选项,则TTFB不会受到影响(NGINX将发现响应已经被压缩)。但出于同样的原因(NGINX接收到一个已经压

我有一个应用程序运行在nodeJS/express上,也使用nginx。如果我压缩两个系统上提供的文件,我想这会减慢服务器响应时间。因此,在将nginx与expressJS组合时,您是否使用或?或者根本没关系


我知道这可能是基于意见,但我真的想得到一些反馈。提前感谢

NGINX还支持一些更好的Brotli压缩(除了gzip),via。 因此,在NGINX中完成所有压缩更有意义


如果保留这两个选项,则TTFB不会受到影响(NGINX将发现响应已经被压缩)。但出于同样的原因(NGINX接收到一个已经压缩的响应),您将无法向其添加Brotli压缩支持(如果您将其保存在expressJS中),因为Brotli压缩模块需要一个未压缩的响应来处理。

NGINX还支持某种程度上更好的Brotli压缩(除了gzip),via。 因此,在NGINX中完成所有压缩更有意义


如果保留这两个选项,则TTFB不会受到影响(NGINX将发现响应已经被压缩)。但出于同样的原因(NGINX接收到一个已经压缩的响应),您将无法向其添加Brotli压缩支持(如果您将其保存在expressJS中),因为Brotli压缩模块要求使用未压缩的响应。

因此,如果我已经在nginx中使用gzip压缩,您是否建议我关闭快速压缩?是的,当然。由于NGINX是非常高效的基于C的应用程序,它可以更快地进行压缩。我也看到了。“对于生产中的高流量网站,最好的压缩方法是在反向代理级别实现(请参阅使用反向代理)。在这种情况下,您不需要使用压缩中间件。有关在Nginx中启用gzip压缩的详细信息…”他们建议相同:)只是为了提供一些反馈,给我带来最佳性能的最简单的解决方案是保持nginx中的压缩处于打开状态(我没有接触配置文件),并使用
app.use(compression({level:1}))
在节点中间件中激活最快的压缩,因为级别1用于最快的压缩。由于nginx会发现响应已经被压缩,nginx不会浪费时间处理它。我当然也可以在nginx中更改压缩率/速度,但这更简单。因此,如果我在nginx中已经有gzip压缩,您会建议我关闭快速压缩吗?是的,当然。由于NGINX是非常高效的基于C的应用程序,它可以更快地进行压缩。我也看到了。“对于生产中的高流量网站,最好的压缩方法是在反向代理级别实现(请参阅使用反向代理)。在这种情况下,您不需要使用压缩中间件。有关在Nginx中启用gzip压缩的详细信息…”他们建议相同:)只是为了提供一些反馈,给我带来最佳性能的最简单的解决方案是保持nginx中的压缩处于打开状态(我没有接触配置文件),并使用
app.use(compression({level:1}))
在节点中间件中激活最快的压缩,因为级别1用于最快的压缩。因为nginx会发现响应已经被压缩,所以nginx不会浪费时间来处理它。我当然也可以在nginx中更改压缩率/速度,但这更简单。