【问题标题】:503 error from Google Books API when accessed from EC2从 EC2 访问时来自 Google Books API 的 503 错误
【发布时间】:2011-10-10 12:54:37
【问题描述】:

在我的 Amazon EC2 实例上:

~$ curl -XGET https://www.googleapis.com/books/v1/volumes?q=Mark+Twain
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "unknownLocation",
    "message": "Cannot determine user location."
   }
  ],
  "code": 503,
  "message": "Cannot determine user location."
 }
}

来自我的笔记本电脑的相同请求会产生正确的响应 - JSON 格式的书籍数据。

我做错了什么?是亚马逊的网络配置吗?是谷歌吗?那是我吗?了解其他可用区中的 EC2 用户是否看到此请求的相同错误会有所帮助。

【问题讨论】:

    标签: api amazon-ec2 http-status-code-503 google-books


    【解决方案1】:

    我知道这是一个非常古老的问题,但它仍然值得回答......

    Google 返回上述错误:

    1. 当它无法确定您的 IP 所在位置时。它的许多书籍的许可协议需要知道你在哪里。

    2. 当 IP 在内部黑名单中作为开放代理时。众所周知,EC2 用于托管代理,您的 IP 的前所有者可能已被 Google 标记。

    3. 当存在 X-forwarded-for 标头(这将由各种代理附加)时,将使用该 IP。如果这是一个内部 IP(如 10.0.0.1),谷歌会抱怨。这对于普通 EC2 实例来说应该不是问题,因为您有一个用于外部流量的外部 IP 地址,但是如果您使用 VPC 或 VPN 做某事,可能会发生疯狂。

    我今天无法为 us-east 重现此错误,但仅在随机可用区域中测试了一个实例。

    【讨论】:

      猜你喜欢
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 2014-05-19
      • 2023-03-28
      相关资源
      最近更新 更多