17

我正在与第三方网络服务合作,该服务要求对其服务的所有调用都来自列入白名单的 IP 地址。也就是说,我必须给他们 IP 地址,我将从那里调用他们的服务。

问题是我正在使用 Google Appengine。从 Appengine 发出传出 http 请求时,有什么方法可以获取静态 IP 地址?如果做不到这一点 - 是否存在所有请求都来自的 IP 地址块?我可以将整个集团列入白名单。如果这种情况存在,它改变的可能性有多大?

我知道我可以设置一个简单的 Amazon EC2 实例以用作代理(将询问另一个问题,具体如何执行此操作),但只是想确保没有其他方法。

4

3 回答 3

16

几周前,我通过 Urlfetch 从 Google App Engine 连接到Stack Exchange API时遇到了同样的问题(团队已迅速解决了将所有 GAE IP 列入白名单的问题)。

可以通过执行以下 DNS 查找来找到 urlfetch 连接可能来自的 IP 地址范围:

dig -t TXT _netblocks.google.com @ns1.google.com 
于 2011-04-08T07:04:59.553 回答
1

最后我检查了这是不可能的。您可以动态获取当前 IP 地址,但它是不可预测的。

于 2011-04-08T06:47:24.717 回答
0

请注意:_netblocks.google.com 显然不准确。目前,我注意到 GAE 从您挖掘 _netblocks 时未列出的地址连接,例如从 8.35.201.166。

此范围未在 _netblocks、_netblocks2 或 _netblocks3 中列出。

当前挖掘输出:ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125。 0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16

于 2013-05-07T08:43:18.170 回答