我的Azure设置包括两个web应用程序和一个PostgreSQL服务器。其中一个web应用程序是Node前端,它应该对公众开放。另一个是Python后端,它接收来自Node应用程序的请求并与Postgres数据库通信。Python应用程序包含任何人都不应该访问的HTTP终结点。
保护此Python应用程序免受不必要流量影响的推荐方法是什么?我应该通过某种Azure配置完全阻止流量,还是简单地对我的HTTP请求进行身份验证?
我尝试只允许Node应用程序的出站I通过Azure配置与Python应用程序通信。然而,这似乎使Python应用程序无法与数据库通信,此外,我甚至无法使用此配置进行SSH或查看其日志。
发布于 2019-04-04 21:42:33
这真的取决于你的需求是什么。如果没有选择成本,保护python应用程序的一种方法是将其放在应用程序服务环境(ASE)上。这是一个独立的Azure Web应用程序实例,您可以在Internal Load Balancer后面保护它。此解决方案将为您提供更多的安全性,因为您可以启用网络安全组来阻止互联网流量,并且您可以设置您的节点应用程序通过虚拟专用网与VNet进行通信。此方法也是PaaS Web应用程序较昂贵的方法之一。
其他选择包括将你的“后端”python设置为IaaS (但之后你必须管理更新),或者你可以使用app Gateway或第三方WAF设备,如KEMP (他们有一个免费的200 MBps设备)来保护你的应用程序。
最后,您可以考虑可伸缩性设计,在两个web应用程序之间放置一个队列或其他中介。这将允许独立扩展,并使您有机会将Python应用程序锁定为只接受来自队列的消息,而不是前端。可以在here中看到一个示例arch (您可以在此arch中为您的python应用程序细分函数)

https://stackoverflow.com/questions/55517073
复制相似问题