使用 Azure 应用程序网关时可以删除 Nginx 吗?

Aks*_*hay 3 azure azure-web-app-service azure-application-gateway

我有一个用于 docker 的 Web 应用程序,当前运行 django,gunicorn 作为 wsgi 服务器,Nginx 作为反向代理。我没有通过 Nginx 提供任何静态资产,并且 SSL 由 Azure 负责。

所以我的问题是,如果我使用 Azure 应用程序网关(有或没有 WAF),我可以删除 Nginx 吗?我看不出它有任何用处,除非我想使用缓存,但我不想使用缓存。HTTP/2 也由应用程序网关提供。

Nan*_*ong 6

Nginx 和 Azure 应用程序网关都充当具有第 7 层负载平衡功能和 WAF 的反向代理,以确保针对常见的 Web 漏洞和攻击提供强大的保护。

应用程序网关支持自动缩放、SSL 卸载和端到端 SSL、Web 应用程序防火墙 (WAF)、基于 cookie 的会话关联、基于 URL 路径的路由、多站点托管、重定向、重写 HTTP 标头和其他功能。有关受支持功能的完整列表,请参阅应用程序网关简介。此外,您还了解应用程序网关限制。

而 Nginx 提供了比应用程序网关更好的 URL 重写和重定向功能。查看反馈。使用 Nginx,您可以在将请求传递到后端服务器之前重写请求的 URL。这意味着您可以更改文件的位置或请求路径,而无需修改通告给客户端的 URL。您还可以重定向请求。

在我看来,如果你只是想简单的用于负载均衡,不需要复杂的重写URL,使用Azure应用网关就足够了。对于复杂的用例重写​​,可以加上 Nginx。在此处阅读创建 Nginx 重写规则和更多详细信息。

  • 不要忘记应用程序网关非常昂贵,并且很难进行故障排除。 (2认同)