我目前有一个appengine应用程序,需要调用一个需要IP白名单的API。 我不能将整个appengine IP模块列入白名单(如此处所述),因为范围太大。
所以 – 我想使用带有Elastic IP的Amazon EC2实例充当appengine和第三方API之间的代理。 我怎么去做这个? 我觉得有2个选项….
1)在EC2实例上设置一个完整的Web服务器,将来自appengine的调用redirect到第三方。 看起来像很多工作和维护
2)有没有简单的方法来通过这个EC2实例转发所有的networkingstream量? 即,appengine通过我的亚马逊ec2实例所有的urlfetch调用?
任何其他选项?
看起来您应该使用代理来设置EC2实例。 我会用mod_proxy去Apache
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
确保你仔细的安装。 如果您设置了实例,以便任何人都可以使用它作为代理,不要惊讶,如果有人使用它作为他们的stream量中继,并驱使了一个大账单给你。
如果appengine的IP范围很广,限制访问权限可能会比较棘手。 如果您对此非常偏执,最好在中继之前设置一个authenticationAPI调用的应用程序,但这显然是一个大量的工作。