我正在使用具有会话概念的第三方服务,并期望会话中的所有请求来自相同的IP。他们声称这是一项必需的安全措施,并建议使用代理,LOL。
对于使用Socket API的多个请求,有没有办法使用相同的IP?
会话中的请求之间的间隔大约是10秒,因此保持连接活动并重新使用它应该有效。我试图设置运行单个实例的代理模块,并将HttpClient与连接池一起使用。记录显示在第一次请求连接正确释放并存储在池中之后。在做第二个请求时,我看到该池有1个连接,但是HttpClient说没有自由连接路由并打开新的。可能会以某种方式改变路线?
答案 0 :(得分:0)
It goes against the way App Engine is meant to work, scale-ability.向消费者和多个实例生成实例壁橱将意味着不同的IP。如果您需要静态IP,则需要切换到Compute Engine。它是一个可以拥有静态IP地址的服务器VM。或者,如果您的第三方服务可以占用范围,您可以从链接获取它们。
App Engine目前不提供将静态IP地址映射到应用程序的方法。为了优化最终用户和App Engine应用程序之间的网络路径,不同ISP或地理位置的最终用户可能使用不同的IP地址来访问同一App Engine应用程序。 DNS可能会返回不同的IP地址,以便随着时间的推移或从不同的网络位置访问App Engine。
答案 1 :(得分:0)
实际上,我解决了这个问题。我所描述的解决方案缺少一步。由于我的连接是经过SSL身份验证的,因此我必须对我提出的所有请求使用相同的上下文。