2012-08-13 53 views
3

我有一个使用Amazon EC2与Django和Google App Engine的网站,它的强大图像API和图像服务基础设施。当用户上传图片时,浏览器向我的EC2服务器发送一个AJAX请求,以获取Blobstore上传网址。我通过我的Django服务器获取这个信息,以便检查用户是否已通过身份验证,然后服务器需要从App Engine服务器获取URL。上传完成并在App Engine中处理后,我需要将上传信息发送回django服务器,以便构建所需的模型实例。我怎样才能做到这一点?我正在考虑使用urllib,但我如何确保这些信息只能通过我的服务器访问,而不能通过Web用户访问?也许某种秘密钥匙?两个Web服务器之间的安全通信(使用Django和Google App Engine的Amazon EC2)

回答

2

除了Https调用(您应该将信息传递给django)之外,您可以使用AES加密(使用Pycrypto /任何其他lib)。它需要一个秘密密钥来加密你的消息。

1

对于服务器到服务器的通信,传统的安全建议会在网络服务器级别为URL提供某种类型的IP范围限制,以及任何默认安全性。但是,由于您正在从云提供商拨打电话到另一个云提供商,因此您永久控制客户端和服务器的IP地址的能力可能会降低。

这就是说,我会建议使用标准的用户名/密码认证机制和HTTPS传输安全。基本身份验证用户名/密码将是我的建议(https:\\username:[email protected]\)。另外,我会确保在特定的时间窗内根据一定数量的失败尝试强制执行锁定。这将阻止企图蛮横强制密码。

取决于您在App Engine上使用的Web框架,可能已经支持部分或全部刚刚提到的内容。如果您更新了关于您架构的更多细节的问题,或者通过更多信息提出了一个新问题,我们可以为您提供更准确的建议。

1

SDC提供从AppEngine到其他地方的专用网络的安全隧道 - 如果您在那里运行它,可能是您的EC2实例。

相关问题