从EC2访问时,Google Books API出现503错误

时间:2011-07-21 19:38:41

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

在我的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用户是否看到此请求的相同错误。

1 个答案:

答案 0 :(得分:0)

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

Google会返回上面指定的错误:

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

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

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

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