应用引擎产品中代理服务器后面的urlphetch

2024-04-18 17:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在googleappengine上使用urlphetch时,有没有一种方法可以指定代理服务器?在

具体地说,每次使用urlphetch进行调用时,我都希望GAE通过代理服务器。我想在产品上做这个,而不仅仅是开发人员

我想使用代理,因为使用google的出站IP地址有问题(速率限制,没有静态出站IP,有时被列入黑名单,等等)。如果您可以编辑http消息本身,那么设置代理通常很容易,但是GAE的API似乎不允许您这样做。在


Tags: 方法iphttp消息编辑代理产品开发人员
2条回答

我们向谷歌提供了支持。他们建议我们使用灵活的谷歌应用引擎应用程序yaml设置、自定义网络和ip转发NAT网关实例。在

这对我们不起作用,因为AppEngine标准中的许多核心功能并没有在AppEngineFlexible中实现。本质上,我们需要重写我们的产品。在

因此,为了使适用的URL fetch请求看起来具有静态IP,我们创建了一个自定义代理:https://github.com/csgactuarial/app-engine-proxy

出于冗余原因,我建议将其作为一个多区域、多区域、负载平衡的系统来实现。在

你总是可以自己动手:

  1. 如果是固定目的地:只需在代理服务器上设置一个固定端口转发。然后从GAE向代理发送请求。如果有多个目的地,则在不同的端口上设置转发,每个端口对应一个。

  2. 对于动态目的地(通过固定端口转发处理太多),GAE应用程序添加一个包含最终目的地的自定义http头(X-Something),然后连接到自定义代理。自定义代理检查此字段并将请求转发到目标。

相关问题 更多 >