我在Google App Engine上有一个Java Web应用程序,它向外部API发出请求. API最近需要将IP地址列入白名单才能访问其服务.由于GAE不提供静态IP,我理解一种解决方案是设置GCE实例(使用静态IP)并将其用作GAE应用程序发出的外部请求的代理.
我已经使用Debian GNU / Linux 9建立了一个f1-micro实例,并根据the documentation创建了一个静态外部IP地址.
如何安装Nginx并设置GAE以将请求路由到GCE代理?
最佳答案
我们遇到了类似的问题,客户需要将我们的IP地址列入白名单.我们解决了这个问题:
>使用静态IP地址启动计算引擎.这是我们给客户的IP地址
>在计算引擎上安装Squid(https://help.ubuntu.com/lts/serverguide/squid.html)
>然后,我们通过代理服务器重定向来自App Engine的所有呼叫.您没有列出您正在使用的语言,但对于PHP,这意味着在CURL操作中添加以下两行:
curl_setopt($ch,CURLOPT_PROXY,“http://”.$_SERVER [‘SQUID_PROXY_HOST’].“:”.$_SERVER [‘SQUID_PROXY_PORT’]);
curl_setopt($ch,CURLOPT_PROXYUSERPWD,$_SERVER [‘SQUID_PROXY_USER’].“:”.$_SERVER [‘SQUID_PROXY_PWD’]);
需要注意的一点是,根据您正在进行的呼叫次数,微型实例可能不适合您.我们最初在微型盒子上设置我们的代理服务器,但每隔几天就要重新启动它.我们最终切换到一个标准的盒子,并没有遇到任何问题,因为.