如何安全地配置环境以允许对多个python flask应用程序进行API调用

时间:2019-07-11 18:08:58

标签: python apache amazon-web-services flask amazon-ec2

我有3个ec2实例。客户端,服务器,DS。这是一个MEAN堆栈。客户端是Angular UI,服务器是Node / Express Backend,DS实例包含数据库和一些python应用程序。

当前,客户端有一个服务通过API调用与DS交互。

Client和Server实例均使用Apache进行代理,并使用PM2进行服务。客户端将端口80代理为端口4200。服务器将端口80代理为端口12345。向公众开放的唯一端口是这两个实例上的端口80和443。与SSH和数据库的连接仅限于特定IP。 DS实例尚未使用Apache。当前,使用pm2在其上运行3个flask应用程序。假设在端口1000、2000、3000上。flask应用程序设置有例如。 app.run(host =“ 0.0.0.0”,port =“ 3000”)在任何端口上。

我目前可以通过打开所有IP 0.0.0.0/0的关联端口来访问这些flask应用程序。但是据我了解,这是安全隐患。由于客户端正在通过http调用DS实例的API,因此我不能限制对特定IP的访问吗?我将如何限制对DS实例的访问?

我的第一个想法可能是使用Apache重定向api路由。但是我仍然不熟悉部署,因此我不确定如何或是否可行。

0 个答案:

没有答案