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

标签 azure azure-web-app-service azure-application-gateway

我有一个适用于 docker 的 Web 应用程序,当前运行 django,使用 Gunicorn 作为 wsgi 服务器,使用 Nginx 作为反向代理。我不通过 Nginx 提供任何静态 Assets ,SSL 由 Azure 负责。

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

最佳答案

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

应用程序网关支持自动缩放、SSL 卸载和端到端 SSL、Web 应用程序防火墙 (WAF)、基于 cookie 的 session 亲和性、基于 URL 路径的路由、多站点托管、重定向、重写 HTTP header 和其他功能。有关受支持功能的完整列表,请参阅 Introduction to Application Gateway 。另外,您还知道 application gateway limits.

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

在我看来,如果只是想简单地用于负载均衡,而不需要复杂的重写URL,那么使用Azure应用程序网关就足够了。对于复杂的使用重写案例,可以加上Nginx。阅读 create Nginx rewrite rules和更多详细信息here .

关于azure - 使用Azure应用程序网关时可以删除Nginx吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56572821/

相关文章:

java - ADLS Gen-2。从 postman 创建新文件系统的 PUT 请求中获取 AuthorizationPermissionMismatch 错误

azure - 在 Azure VM 上部署 Apisix 并在路由到应用服务时收到 404 错误

Azure 应用程序网关无法上传 pfx 证书

azure - 应用程序网关受 IP 限制

azure - 使用新的基于AAD的访问控制通过Web浏览器通过URI访问Blob文件

VBA/.Net 通过 Windows 安全从受密码保护的网站下载文件

azure - 无法连接到 Azure 临时 Web 角色,但可以使用 RDP 并运行它

azure - 下载 Azure Web 应用程序?

java - 上传到 Azure 时无法访问 RESTful 端点

linux - 在 Azure 应用服务上运行 Python 2 应用时出现包导入错误