设置 Amazon EC2 实例以转发 Appengine urlfetch 请求

设置 Amazon EC2 实例以转发 Appengine urlfetch 请求

我目前有一个 appengine 应用,需要调用需要 IP 白名单的 API。我无法将整个 appengine IP 块列入白名单(如概述所示这里),因为范围太大。

所以 - 我想使用具有弹性 IP 的 Amazon EC2 实例作为 appengine 和第三方 API 之间的代理。我该怎么做?我认为有两个选择......

1) 在 EC2 实例上设置一个功能齐全的 Web 服务器,将来自 appengine 的调用重定向到第三方。这似乎需要大量工作和维护

2) 是否有任何简单的方法可以通过此 EC2 实例以某种方式转发所有 Web 流量?即 appengine 通过我的 amazon ec2 实例进行所有 urlfetch 调用?

还有其他选择吗?

答案1

看起来你应该设置一个带有代理的 EC2 实例。我会选择带有 mod_proxy 的 Apache

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

不过,请确保您小心设置。如果您设置实例以便任何人都可以将其用作代理,那么如果有人将其用作其流量的中继并给您带来巨额费用,请不要感到惊讶。

如果 appengine 的 IP 范围很广,那么将访问权限限制在您自己的范围内可能会很棘手。如果您对此非常谨慎,那么最好设置一个应用程序,在转发 API 调用之前对其进行身份验证,但这显然是一项艰巨的工作。

相关内容