在应用服务器前使用反向代理的理由是什么?

在应用服务器前使用反向代理的理由是什么?

为什么应用服务器文档总是建议使用 Nginx 这样的反向代理?以 Gunicorn 这样的随机应用服务器或 NPM 的内置服务器为例,在它们前面使用 Nginx 的理由是什么?这只是为了处理负载吗?此外,如果应用程序已经在 AWS ELB 这样的云负载均衡器后面运行,我还需要反向代理吗?

PS 我理解反向代理在 SSL 终止中的作用以及与之相关的 CPU 成本。但为什么有人会在同一台机器上安装 Nginx 和 Gunicorn,并将其置于 Amazon EBS 后面,这仍然是我无法理解的。

答案1

如果我们排除负载均衡安全出于这样的目的,Nginx 可能仍然有用,因为它有更好的表现提供静态内容。这样,Nginx 可以提供静态资产,而应用服务器则处理动态内容。

相关内容