Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 为什么云运行服务的响应来自错误的区域?_Google Cloud Platform_Google Cloud Run - Fatal编程技术网

Google cloud platform 为什么云运行服务的响应来自错误的区域?

Google cloud platform 为什么云运行服务的响应来自错误的区域?,google-cloud-platform,google-cloud-run,Google Cloud Platform,Google Cloud Run,我有一个运行Django的Cloud Run实例,GCP控制台和gcloud都确认该实例已部署到europe-west1region 然而,使用**Django这样的工具似乎是为了满足美国山景城的需求** 这不是一个暂时性的问题,当我在这个实例和国际网站上运行了许多scraper,它们收到的响应是针对美国的。在您的位置网站上,只需输入域名run.app。你会发现同样的事情,蒙塔因视图,加利福尼亚州。事实上,当你注册一个域名,你把这个域名的位置。您的网站使用此元数据为您提供静态答案 但是,可以肯定

我有一个运行Django的Cloud Run实例,GCP控制台和gcloud都确认该实例已部署到
europe-west1
region

然而,使用**Django这样的工具似乎是为了满足美国山景城的需求**


这不是一个暂时性的问题,当我在这个实例和国际网站上运行了许多scraper,它们收到的响应是针对美国的。

在您的位置网站上,只需输入域名
run.app
。你会发现同样的事情,蒙塔因视图,加利福尼亚州。事实上,当你注册一个域名,你把这个域名的位置。您的网站使用此元数据为您提供静态答案

但是,可以肯定的是,我做了一个测试

我部署了2个服务

我对两者都进行了测试

> curl https://europe-west1-hello-<hash>-ew.a.run.app -s -o /dev/null -w  "%{time_starttransfer}\n"
0.081340

> curl https://us-central1-hello-<hash>-uc.a.run.app -s -o /dev/null -w  "%{time_starttransfer}\n"
0.175606
卷曲https://europe-west1-hello--ew.a.run.app -s-o/dev/null-w“{time\u startttransfer}\n” 0.081340 >卷曲https://us-central1-hello--uc.a.run.app -s-o/dev/null-w“{time\u startttransfer}\n” 0.175606 我在法国。欧洲西部1(比利时)仅81毫秒。美国中部1号(距离我国8000公里)175ms


这是一致的

@Kolban的分析是正确的

所有谷歌云IP(包括计算引擎虚拟机)看起来都像来自“美国加利福尼亚州山景城”,而不管它们运行在哪个地区。这是因为它们与谷歌属于同一个全球IP区块

这个IP池也可能被其他谷歌产品使用,比如云运行、云功能、应用引擎和计算引擎

最有可能的是,谷歌并没有将特定的IP范围专用于特定的地区,因为谷歌的IP块将被路由到最近的谷歌数据中心,然后进入谷歌的专用网络,并在内部进行路由


我的建议是不要使用云运行服务(或计算引擎VM)的IP地址来确定其区域。此信息在“元数据服务”的VM或容器中可用。

可能是IP地址是选播IP。。。这意味着,当您尝试访问服务器(europe-west1)时,IP地址将解析为最近的IP地址。您究竟在哪里向服务器发出请求?我假设如果我们真的点击了服务器,它的日志会显示它在欧洲运行。不,我不这么认为,我在云运行实例(以及一个网站)上运行了一些scraper,因此它们作为客户端而不是服务器,例如,它们向ebay发出请求,从他们收到的内容来看,ebay认为这一请求来自美国。我使用了一个第三方代理和地理定位来向自己证明这是正在发生的事情,但这不是一个长期的解决方案,因此我想知道为什么我在云上运行这种行为。我在英国供参考。哦。。。让我把刚才听到的话放回去。您在欧洲部署了云运行的服务器。它们发出REST/HTTP请求。收件人看到请求似乎来自位于美国的IP地址。你能澄清一下你认为这些请求的接收者将什么视为源地址吗?我已经多次询问并回答了这个问题,也有几次是这样。您无法可靠地检测IP地址的位置。这些网站使用“注册地址”,这并不意味着物理地址。对于谷歌来说,他们的IP地址可以随意移动(软件定义的网络)。对于选播地址,它们位于同时分配的所有全局点。通过跟踪路由,您可以大致了解IP地址与您的距离。这也不可靠。我用你的链接测试了我在西雅图的一台服务器。你的链接认为我的服务器在德克萨斯州达拉斯。